Caliburn.Metro
Library combines MahApps.Metro and Caliburn.Micro for Metro UI styled WPF applications
It provides Caliburn.Micro Bootstrapper and MahApps.Metro MetroWindow integrated WindowManager. Also project contains Autofac Bootstrapper integration.
Default Setup Demo application
//Basic AppBootstrapper
public class AppBootstrapper : CaliburnMetroCompositionBootstrapper<AppViewModel>
{
}
//AppWindowManager with custom Main window
[Export(typeof(IWindowManager))]
public class AppWindowManager : MetroWindowManager
{
public override MetroWindow CreateCustomWindow(object view, bool windowIsView)
{
if (windowIsView)
{
return view as MainWindowContainer;
}
return new MainWindowContainer
{
Content = view
};
}
}
Autofac Bootstrapper Setup Demo application
//Autofac AppBootstrapper
public class AppBootstrapper : CaliburnMetroAutofacBootstrapper<AppViewModel>
{
protected override void ConfigureContainer(ContainerBuilder builder)
{
builder.RegisterType<AppWindowManager>().As<IWindowManager>().SingleInstance();
var assembly = typeof(AppViewModel).Assembly;
builder.RegisterAssemblyTypes(assembly)
.Where(item => item.Name.EndsWith("ViewModel") && item.IsAbstract == false)
.AsSelf()
.SingleInstance();
}
}
//AppWindowManager with custom Main window
public class AppWindowManager : MetroWindowManager
{
public override MetroWindow CreateCustomWindow(object view, bool windowIsView)
{
if (windowIsView)
{
return view as MainWindowContainer;
}
return new MainWindowContainer
{
Content = view
};
}
}
License
Code and documentation are available according to the Unlicense (see LICENSE).