Framework 中使用 Toolkit.Mvvm 的生成器功能

.NET Standard是.NET APIs的正式规范,可在多个.NET实现中使用。.NET Standard的动机是为了在.NET生态系统中建立更大的统一性。.NET 5及更高版本采用了不同的方法来建立统一性,这种方法消除了大多数情况下对.NET Standard的需求。但是,如果您想要在.NET Framework和任何其他.NET实现(例如.NET Core)之间共享代码,则您的库应该针对.NET Standard 2.0。不会发布新版本的.NET Standard,但.NET 5、.NET 6和所有未来版本将继续支持.NET Standard 2.1及更早版本。

 

 

Framework 中具体使用Toolkit.Mvvm

c#版本不能低于 8.0

直接改成 10.0

添加建的类库(.NET Standard)应用

具体使用

//UseMvvmToolkitFramework项目里引入.NET Standard项目里viewmodel数据
//UseMvvmToolkitFramework.cs
 this.DataContext = new ViewModel();
//前台进行资源引入及数据绑定
 xmlns:mvvm="clr-namespace:UseMvvmTookitFramwork.Mvvm;assembly=UseMvvmTookitFramwork.Mvvm"
d:DataContext="{d:DesignInstance mvvm:ViewModel}"
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" TextElement.FontSize="32">
<TextBox Width="200" Text="{Binding Message}" />
<Separator Margin="0,5" />
<Button Padding="10,0" HorizontalAlignment="Center"Command="{Binding ClickCommand}" Content="Click" />
</StackPanel>

//UseMvvmTookitFramwork.Mvvm中view model数据
 public partial class ViewModel : ObservableObject {
        [ObservableProperty]
        string message = "Hello world";

        [RelayCommand]
        void Click() {
            Message = "Goodbye";
  }
}

 

第二种方式

Framework 项目升级(升级.csproj 文件)

https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-winforms-framework

总结:

  • .NET Standard c#不能低于 8.0
  • Framework 里的项目将 view model 摘出来放置到.NET Standard 项目里
  • .NET Standard 项目添加到Framework 项目引用里(主要借助 standard 里面的生成器)
  • 不管哪种方式主要是能使用 toolkit.mvvm 中的生成器
posted @ 2023-02-22 15:41  庆喜  阅读(449)  评论(1编辑  收藏  举报