WPF / XAML的新手,并希望为我的应用程序构建一个Command库。我的应用程序的当前版本是“平坦的”意味着后面的所有代码都驻留在我的MainWindow.cs文件中。我决定将内容分成用户控件,到目前为止所有的UI部分都很好用,但是....
我现在无法将我的命令绑定到事情上。为简单起见,我创建了一个新的WPF项目,添加了我的Menu控件(Controls \ Menu.xaml)并在我的MainWindow.xaml中引用了它。现在,我已经继续并添加了一个CommandLibrary类,似乎无法正常工作。这是我的文件 - >新命令代码:
public static class MyAppCommands
{
private static RoutedUICommand _NewItem;
static MyAppCommands()
{
_NewItem = new RoutedUICommand("Create a new project", "NewItem", typeof(MyAppCommands));
}
public static RoutedUICommand NewItem
{
get { return _NewItem; }
}
private string filePath = null;
private bool dataChanged = false;
public static void NewItem_Executed(object sender, ExecutedRoutedEventArgs e)
{
if (dataChanged)
{
string sf = SaveFirst();
if (sf != "Cancel")
{
ClearState();
}
}
else
{
ClearState();
}
}
public static void NewItem_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
public static void BindCommandsToWindow(Window window)
{
window.CommandBindings.Add(new CommandBinding(NewItem, NewItem_Executed, NewItem_CanExecute));
}
我将下面的内容放在我的课堂上,因为我的很多命令都会使用它们??
private string filePath = null;
private bool dataChanged = false;
非常感谢!
答案 0 :(得分:0)
我认为您可以从设置MVC或MVVM等设计模式中受益。
查看这些框架:
您也可以使用几个小帮助程序类跟踪MVC或MVVM,查看网络上的参数,例如MVVM。
如果你想要一个轻量级的框架,请检查一下:MVVM Foundation