网站建设如何搞活动,网页版网游,南京建设项目环评公示期网站,高手优化网站01—启动项目打开Visual Studio创建一个名为“Caliburn.Micro.Hello”的新WPF应用程序添加对Caliburn.Micro Nuget包的引用,最新的版本是4.0.173#xff0c;更新日期2021年5月9日 (2021/5/9)删除“MainWindow.xaml”并从“App.xaml”中删除StartupUri#xff0c;使其如下所示… 01—启动项目 打开Visual Studio创建一个名为“Caliburn.Micro.Hello”的新WPF应用程序添加对Caliburn.Micro Nuget包的引用,最新的版本是4.0.173更新日期2021年5月9日 (2021/5/9)删除“MainWindow.xaml”并从“App.xaml”中删除StartupUri使其如下所示Application x:ClassCaliburn.Micro.Hello.Appxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:localclr-namespace:Caliburn.Micro.HelloApplication.Resources/Application.Resources
/Application既然Caliburn.Micro更喜欢ViewModel优先的方法让我们从这里开始。①创建第一个ViewModel创建一个新类并将其称为“ShellViewModel”。②打开ShellViewModel.cs并使用以下代码进行实现using System.Windows;namespace Caliburn.Micro.Hello.ViewModels
{public class ShellViewModel : PropertyChangedBase{string name;public string Name{get { return name; }set{name value;NotifyOfPropertyChange(() Name);NotifyOfPropertyChange(() CanSayHello);}}public bool CanSayHello{get { return !string.IsNullOrWhiteSpace(Name); }}public void SayHello(){MessageBox.Show(string.Format(Hello {0}!, Name)); //Dont do this in real life :)}}请注意ShellViewModel继承自PropertyChangedBase。这是一个基类它实现了属性更改通知的基础结构并自动执行UI线程封送。它会派上用场现在我们有了ViewModel让我们创建引导程序。引导程序将配置框架并告诉它该做什么。创建一个名为“HelloBootstrapper”的新类。您可以使用以下一小段代码namespace Caliburn.Micro.Hello {public class HelloBootstrapper : BootstrapperBase {public HelloBootstrapper() {Initialize();}protected override void OnStartup(object sender, StartupEventArgs e) {DisplayRootViewForShellViewModel();}}
}bootsapper允许您使用DisplayRootViewForTViewModel指定根视图模型的类型。“根视图模型”是Caliburn.Micro将实例化并用于显示应用程序的视图模型。接下来我们需要实现“HelloBootstrapper”以便它在启动时运行。为此请更新App.xaml将引导程序添加到您的资源中如下所示02—WPFApplication xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:localclr-namespace:Caliburn.Micro.Hellox:ClassCaliburn.Micro.Hello.AppApplication.ResourcesResourceDictionaryResourceDictionary.MergedDictionariesResourceDictionarylocal:HelloBootstrapper x:Keybootstrapper //ResourceDictionary/ResourceDictionary.MergedDictionaries/ResourceDictionary/Application.Resources
/Application我们所要做的就是在应用程序中放置一个Caliburn.Micro引导程序。资源和它将完成其余的工作。现在运行应用程序。您应该看到如下内容Caliburn.Micro创建了ShellViewModel但不知道如何在没有视图的情况下渲染它。那么让我们创建一个视图让它查找。创建名为“ShellView”的新用户控件WPF。使用以下xamlUserControl x:ClassCaliburn.Micro.Hello.ShellViewxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlHeight450 Width800StackPanelLabel ContentHello please write your name /TextBox x:NameName /Button x:NameSayHelloContentClick Me //StackPanel
/UserControl再次运行应用程序。您现在应该可以看到UI在文本框中键入内容将启用该按钮单击该按钮将显示一条消息03—工作原理Caliburn.Micro使用一个简单的命名约定来定位ViewModels的视图。本质上它接受全名并从中删除“Model”。因此给定MyApp.ViewModels.MyViewModel它将查找MyApp.Views.MyView并排查看视图和ViewModel可以看到带有x:Name“Name”的文本框绑定到ViewModel上的“Name”属性。您还可以看到带有x:Name“SayHello”的按钮绑定到ViewMModel上具有相同名称的方法。CanSayHello属性通过禁用按钮来保护对SayHello操作的访问。这些是Caliburn.Micro的ActionMessage和Conventions功能的基础。还有很多东西要展示。接下来我们可以集成一个IoC容器比如MEF。原文标题Caliburn.Micro Xaml made easy原文链接https://caliburnmicro.com/documentation/configuration翻译dotnet编程大全C#技术群 : 添加小编微信mm1552923备注进群