Rud*_*udi 1 c# wpf xaml binding relaycommand
我正在尝试使用Galasoft MVVMLight的RelayCommand执行RelayCommand(在我的CodeBehind中).
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;
}
Run Code Online (Sandbox Code Playgroud)
MainPage.xaml中:
<Button Command="{Binding MyCommand}"/>
Run Code Online (Sandbox Code Playgroud)
不幸的是,命令没有触发/该方法没有被调用.像ImageSource这样的其他绑定元素......工作正常.
RelayCommand在设置之前尝试创建新的DataContext.
设置DataContext触发器数据绑定引擎以更新绑定.由于该MyCommand属性尚未设置,因此Buttons Command将为null.RelayCommand设置后创建新的DataContext将不会通知Button属性的更新.
Command在设置之前创建DataContext一个解决方案,另一个是在设置之后实现INotifyPropertyChanged接口并引发PropertyChanged事件MyCommand(或在设置器中,需要支持字段).