我可以从xaml中的不同类执行命令逻辑吗

问题描述 投票:0回答:1

我有一个公共类DataGridRowCopyAction。

public class DataGridRowCopyAction
{
    public ICommand RowCopyCommand = new DelegateCommand(RowCopyAction)

    Private void RowCopyAction
    {
        // do something 
    }
}

我可以使用 RowCopyCommand 作为多个 xaml 中的通用命令吗 我尝试了以下方法。但它不起作用

xmlns:b="clr-namespace:x.y"
Command={Binging path=b:RowCopyCommand}

命令

wpf mvvm data-binding command
1个回答
0
投票

如果您有一个非视图模型类,您在其中定义了如下命令:

 namespace YourNameSpace
 {
    public class YourCommand : ICommand
    {
        public bool CanExecute(object par)
        {
            // Define your logic
            return true;
        }
    
        public void Execute(object par)
        {
            // Define the action you want             
        }
    
        public event EventHandler 

CanExecuteChanged;
        }    
      

}

然后,您需要在 XAML 或代码隐藏中创建命令逻辑类的实例。例如,在您的 XAML 中:

<Window x:Class="YourApp.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:local="clr-namespace:YourNameSpace">
    <Window.Resources>
        <local:YourCommand x:Key="YourCommand" />
    </Window.Resources>

最后,在 XAML 控件中进行绑定,您可以将 Command 属性绑定到命令逻辑类的实例:

<Button Content="Execute Command" Command="{StaticResource YourCommand}" />
© www.soinside.com 2019 - 2024. All rights reserved.