gpt4 book ai didi

c# - RelayCommand 未执行

转载 作者:太空宇宙 更新时间:2023-11-03 20:03:36 26 4
gpt4 key购买 nike

我正在尝试使用来自 Galasoft MVVMLight 的 RelayCommand 执行 RelayCommand(在我的代码隐藏中)。

MainPage.xaml.cs

public MainPage()
{
InitializeComponent();
DataContext = this;
MyCommand = new RelayCommand(Methode);
}

#region Commands
public RelayCommand MyCommand { get; private set; }
#endregion

private void Methode()
{
int i = 1;
}

主页.xaml:

<Button Command="{Binding MyCommand}"/>

不幸的是,命令没有触发/方法没有被调用。其他绑定(bind)元素,如 ImageSource,......工作正常。

最佳答案

尝试在设置 DataContext 之前创建新的 RelayCommand

设置DataContext 触发数据绑定(bind)引擎更新绑定(bind)。由于尚未设置 MyCommand 属性,因此 ButtonCommand 将为空。在设置 DataContext 后创建一个新的 RelayCommand 不会通知 Button 属性更新。

在设置 DataContext 之前创建 Command 是一种解决方案,另一种是实现 INotifyPropertyChanged 接口(interface)并提升 PropertyChanged 设置 MyCommand 后的事件(或在 setter 中,需要一个支持字段)。

关于c# - RelayCommand 未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25546916/

26 4 0