C# WPF MVVM开发框架Caliburn.Micro常用功能指南②
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# WPF MVVM开发框架Caliburn.Micro常用功能指南②相关的知识,希望对你有一定的参考价值。
这是Caliburn.Micro项目中最常用的约定和功能的快速指南。
01
—
事件连接
这会自动将控件上的事件关联到ViewModel上的方法。
常规约定:
<Button x:Name="Save">
这将导致按钮的单击事件调用ViewModel上的“Save”方法。
简短语法:
<Button cal:Message.Attach="Save">
这将再次导致按钮的“Click”事件调用ViewModel上的“Save”方法。
可以像这样使用不同的事件:
<Button cal:Message.Attach="[Event MouseEnter] = [Action Save]">
可以向方法传递不同的参数,如下所示:
<Button cal:Message.Attach="[Event MouseEnter] = [Action Save($this)]">
$eventArgs
将EventArgs或输入参数传递给操作。注意:对于保护方法,这将是null,因为触发器实际上没有发生。
$dataContext
传递ActionMessage附加到的元素的DataContext。这在主/详细场景中非常有用,在主/详细场景中,ActionMessage可能会冒泡到父VM,但需要携带要执行操作的子实例。
$source
触发要发送的ActionMessage的实际框架元素。
$view
绑定到ViewModel的视图(通常是用户控件或窗口)。
$executionContext
操作的执行上下文,其中包含上述所有信息及更多信息。这在高级场景中很有用。
$this
操作附加到的实际UI元素。在这种情况下,元素本身不会作为参数传递,而是作为其默认属性传递。
长语法
<UserControl x:Class="Caliburn.Micro.CheatSheet.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cal="http://www.caliburnproject.org">
<StackPanel>
<TextBox x:Name="Name" />
<Button Content="Save">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Save">
<cal:Parameter Value="Binding ElementName=Name, Path=Text" />
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</UserControl>
此语法表达式对于Blend 比较友好。
02
—
数据绑定
这将自动将控件上的依赖项属性绑定到ViewModel上的属性。
常规约定:
<TextBox x:Name="FirstName" />
将导致TextBox的“Text”属性绑定到ViewModel的“FirstName”属性。
明确的写法:
<TextBox Text="Binding Path=FirstName, Mode=TwoWay" />
这是绑定属性的正常方式。
Event Aggregator 事件聚合器
事件聚合器上的三种不同方法是:
public interface IEventAggregator
void Subscribe(object instance);
void Unsubscribe(object instance);
void Publish(object message, Action<System.Action> marshal);
事件可以是一个简单的类,例如:
public class MyEvent
public MyEvent(string myData)
this.MyData = myData;
public string MyData get; private set;
原文标题:Caliburn.Micro Xaml made easy
原文链接:https://caliburnmicro.com/documentation/cheat-sheet
翻译:dotnet编程大全
技术群 : 添加小编mm1552923,备注:进群!
以上是关于C# WPF MVVM开发框架Caliburn.Micro常用功能指南②的主要内容,如果未能解决你的问题,请参考以下文章
C# WPF MVVM开发框架Caliburn.Micro常用功能指南②
C# WPF MVVM开发框架Caliburn.Micro 名称Transformer⑩①
C# WPF MVVM开发框架Caliburn.Micro 自定义Conventions⑩