1 前言
在前面学习了RadioButton
的使用,并完成简单的页面绑定。但是RadioButton
没有与页面绑定起来,运行后界面默认加载,为了实现简单的界面切换,今天介绍Command
的使用!
2 Command
Command
是一种用于处理用户操作(如按钮点击、菜单项选择等)的机制。WPF 提供了一套丰富的命令系统,允许开发者以声明方式处理用户界面上的交互操作。
在这里介绍Command
,我们将和XAML结合使用。在 XAML 中,将命令绑定到 UI 元素(如按钮、菜单项)。
除了Command
,我们还要了解CommandParameter
,通过 CommandParameter
属性为命令绑定提供参数。这个参数可以是静态值,也可以是数据上下文中的动态值。
3 具体使用
代码部分:
<RadioButton Grid.Row="1" GroupName="1" Content="1" Style="{StaticResource CustomRadioButtonStyle}"
Command="{Binding MenuItemCommand}"
CommandParameter="InterfacialDesign.Views.DataModelViews"/>
我们后台定义一个MenuItemCommand
属性,绑定MenuItemCommand
,然后设置对应的UI绑定的参数"InterfacialDesign.Views.DataModelViews"
,就是我们对应要显示界面的名称,后台代码会根据名称同步显示到我们搭建的WPF网格中。
我们在MainViewModel.cs中定义一个动态绑定,读到对应界面名称就切换对应名称。
private CommandBase _menuItemCommand;
public CommandBase MenuItemCommand
{
get
{
if (_menuItemCommand == null)
{
_menuItemCommand = new CommandBase();
_menuItemCommand.DoExecute = new Action<object>(obj =>
{
NavPage(obj.ToString());
});
}
return _menuItemCommand;
}
}
4 显示效果
界面会根据我按钮按的不同而发生变化。这也是因为后台与前端界面的绑定,将按钮绑定不同的用户界面名称,根据这些名称而调动对应的UI界面,从而达到这种显示效果。
总结
本文解决了上次按钮与界面的不联动问题,介绍了RadioButton与UI用户界面的绑定操作,后续可在用户界面下进一步进行设计!