gpt4 book ai didi

wpf - 使用Caliburn.Micro时用于多个控件的相同方法

转载 作者:行者123 更新时间:2023-12-03 07:39:04 24 4
gpt4 key购买 nike

在WPF MVVM应用程序中,我需要多个控件具有相同的功能-例如某些按钮与某些菜单项具有相同的功能。与MVVM Light的RelayCommand相比,这简直是小菜一碟,但我现在使用的是Caliburn.Micro,其中几乎所有内容都基于约定。因此,两个控件不能具有相同的x:Name="AddItem",CM使用这些 来确定在ViewModel中执行的方法。有没有简单的方法可以解决这个问题?

最佳答案

是的,很简单,但是很冗长。您需要使用“长格式”。假设您在ViewModel上有一个方法IncrementCount

// Handling event
public void IncrementCount()
{
Count++;
}


并且您的视图具有:

<Button Name="ButtonOne">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="IncrementCount" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>

<Button Name="ButtonTwo">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="IncrementCount" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>


这两个按钮都将调用您的 IncrementCount方法。

编辑

添加这些名称空间

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cal="http://www.caliburnproject.org"


您可能会使用上面的代码片段看到此 Caliburn starting project

关于wpf - 使用Caliburn.Micro时用于多个控件的相同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com