C# WPF,命令未执行
我正在尝试使用WPF在C#中创建简单的蛇游戏。我有多个用户控件。在第一个用户控件中,我有一个玩家列表。您可以选择一个玩家并单击选择按钮。单击此按钮后,将显示第二个用户控件。此用户控件包含启动蛇游戏的按钮C# WPF,命令未执行,c#,wpf,C#,Wpf,我正在尝试使用WPF在C#中创建简单的蛇游戏。我有多个用户控件。在第一个用户控件中,我有一个玩家列表。您可以选择一个玩家并单击选择按钮。单击此按钮后,将显示第二个用户控件。此用户控件包含启动蛇游戏的按钮 问题是,所有用户控件都是在运行应用程序时创建的,但绑定到蛇游戏按钮的命令是在单击“选择”按钮后创建的。现在,如果单击“开始蛇游戏”按钮,则不会执行该命令。我的问题是:在创建用户控件之前,命令对象是否必须存在,或者是否有方法通知用户控件已创建命令 您应该尝试在命令上实现INotifyPropert
问题是,所有用户控件都是在运行应用程序时创建的,但绑定到蛇游戏按钮的命令是在单击“选择”按钮后创建的。现在,如果单击“开始蛇游戏”按钮,则不会执行该命令。我的问题是:在创建用户控件之前,命令对象是否必须存在,或者是否有方法通知用户控件已创建命令 您应该尝试在命令上实现INotifyPropertyChanged接口。它将绑定属性的更改通知控件。
看一看,“FirstName”属性有一个例子。您需要返回一个实际的命令,因此它必须存在,但如果它不存在,您总是可以创建它。例如,让属性“getter”在返回命令之前确保命令存在:
private ICommand myThing;
public ICommand MyThing
{
get
{
if (myThing == null)
{
myThing = new MyCommand(myArgs);
}
return myThing;
}
}
或者,如果您正在运行C#6,则可以在自动属性声明中初始化该命令:
public ICommand MyCommand { get; } = new MyCommand(myArgs);
不需要,在创建用户控件之前不需要创建它,但是它绑定到的路径应该在创建时通知任何观察者。如果您添加更多的代码,那么您可能有更高的机会得到有意义的答案:)