Caliburn.Micro WPF教程——创建项目

创建 WPF 解决方案

创建一个C# WPF Net5.0的工程

 接下来给解决方案起一个名字

最后设置NetCore的版本,这里我们可以选择5.0

添加 Caliburn.Micro Nuget 包

项目创建以后我们可以去Nuget中添加CM的包

 

创建 MVVM 文件夹

  1. Models
  2. Views
  3. ViewModels

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Caliburn.Micro 是一款流行的 MVVM 框架,用于在 WPF 应用程序中实现松散耦合的设计模式。下面是一个简单的使用 Caliburn.MicroWPF 示例。 ViewModel: ```csharp using Caliburn.Micro; public class ShellViewModel : Screen { private string _firstName; private string _lastName; private string _fullName; public string FirstName { get { return _firstName; } set { _firstName = value; NotifyOfPropertyChange(() => FirstName); NotifyOfPropertyChange(() => FullName); } } public string LastName { get { return _lastName; } set { _lastName = value; NotifyOfPropertyChange(() => LastName); NotifyOfPropertyChange(() => FullName); } } public string FullName { get { return $"{FirstName} {LastName}"; } } } ``` View: ```xaml <Window x:Class="WpfApp1.ShellView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:cal="http://www.caliburnproject.org" Title="ShellView" Height="300" Width="300"> <Grid> <StackPanel> <TextBlock Text="First Name" /> <TextBox x:Name="FirstName" /> <TextBlock Text="Last Name" /> <TextBox x:Name="LastName" /> <TextBlock Text="Full Name" /> <TextBlock Text="{Binding FullName}" /> </StackPanel> </Grid> </Window> ``` 在这个例子中,我们创建了一个名为 `ShellViewModel` 的视图模型,其中包含了 `FirstName`、`LastName` 和 `FullName` 属性。`FullName` 是一个只读属性,它返回 `FirstName` 和 `LastName` 的组合。在视图中,我们使用 `TextBox` 控件绑定 `FirstName` 和 `LastName` 属性,并使用 `TextBlock` 控件绑定 `FullName` 属性。 请注意,在视图中使用 `{Binding}` 表达式绑定视图模型属性,`Caliburn.Micro` 将自动创建一个与视图模型绑定的对象,并将其设置为视图的 `DataContext`。 最后,在 `App.xaml.cs` 中配置 `Caliburn.Micro`: ```csharp using Caliburn.Micro; public partial class App : Application { private readonly SimpleContainer container = new SimpleContainer(); protected override void Configure() { container.Singleton<ShellViewModel>(); } protected override object GetInstance(Type service, string key) { return container.GetInstance(service, key); } protected override IEnumerable<object> GetAllInstances(Type service) { return container.GetAllInstances(service); } protected override void BuildUp(object instance) { container.BuildUp(instance); } } ``` 这里我们将 `ShellViewModel` 注册为单例模式。这意味着,在整个应用程序生命周期中,只会创建一个 `ShellViewModel` 对象。 这是一个非常简单的示例,但它展示了如何使用 Caliburn.MicroWPF 应用程序中实现 MVVM 设计模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值