A small, yet powerful framework, designed for building applications across all XAML platforms (.NET 4.5+ and .NET Core 3.0+). Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Supports WPF, UWP, and Xamarin.Forms apps.
The quickest way to get started is down grab the latest package from Nuget and browse the documentation. If you’re running into trouble checkout our support section.
<ListBox x:Name="Products" />
public BindableCollection<ProductViewModel> Products
{
get; private set;
}
public ProductViewModel SelectedProduct
{
get { return _selectedProduct; }
set
{
_selectedProduct = value;
NotifyOfPropertyChange(() => SelectedProduct);
}
}
Even at design time!
<StackPanel>
<TextBox x:Name="Username" />
<PasswordBox x:Name="Password" />
<Button x:Name="Login" Content="Log in" />
</StackPanel>
public bool CanLogin(string username, string password)
{
return !String.IsNullOrEmpty(username) && !String.IsNullOrEmpty(password);
}
public string Login(string username, string password)
{
...
}
public class DocumentTabsViewModel : Conductor<TabViewModel>.Collection.OneActive
{
...
}
public class CartSummaryViewModel : IHandle<CartChangedMessage>
{
...
}
The core contributors to Caliburn.Micro are:
As is with any open source project there are many other contributors, you can see a full list on the GitHub. Apologies if your name was lost during the move between version control systems.
We’d like to thank the people at Jetbrains for providing licenses for Resharper to the team.