C# WPF MVVM开发框架Caliburn.Micro常用功能指南②
這是Caliburn.Micro項目中最常用的約定和功能的快速指南。
01
—
事件連接
這會自動將控件上的事件關聯到ViewModel上的方法。
常規約定:
這將導致按鈕的單擊事件調用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常用功能指南②的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF开源项目:WPF-ControlB
- 下一篇: AgileConfig-1.5.5 发布