0

我是 WPF 的新手,我一直在互联网上搜索,但没有找到解决问题的方法。我的问题是,您如何使用命令从另一个类中调用不在代码中的方法?我是否正确命令是从另一个类调用方法的唯一方法?我知道您可以简单地在按钮单击中创建一个对象引用,但由于我的项目的复杂性,我不想这样做。

假设我想使用 MainWindow.xaml 中按钮内的 Command 函数从 ClassA 调用 Print 函数,我该如何实现呢?

视图模型:ClassA.cs

public class ClassA
    {
        Print()
        {
           Console.WriteLine("Hello");
        }
    }

查看:MainWindow.xaml

<button Command=? ><button/>
4

1 回答 1

1

如果ClassADataContext您的视图,您可以声明这样的按钮(假设您在类中有一个ICommand命名PrintCommand):

<Button Content="Print" Command="{Binding PrintCommand}" />

我会为 MVVM 推荐本教程:

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

使用RelayCommand教程中的类,相关部分ViewModel可能如下所示:

private RelayCommand printCommand;
public RelayCommand PrintCommand
{
    get { return printCommand?? (printCommand = new RelayCommand(param => ExecutePrintCommand())); }
}

private void ExecutePrintCommand()
{
    // your code here
}
于 2014-08-03T11:40:20.557 回答