【发布时间】:2018-01-15 09:57:44
【问题描述】:
我尝试将Button 图标更改为Click_Event,所以目前我有这样的xaml:
<Button Content="{materialDesign:PackIcon LanDisconnect}" Command="{Binding Connect}" />
在 ViewModel 中:
public ICommand Connect
{
get
{
_Connect = new RelayCommand(
param => ConnectChip());
return _Connect;
}
}
我应该如何将命令Connect中的按钮图标更改为{MaterialDesign:PackIcon LanConnect}?谢谢!
【问题讨论】:
-
您应该查看 MaterialDesignInXamlToolkit 的 MainDemo.Wpf 项目中的 Buttons.xaml
-
在 get 之外分配您的 _Connect 字段,或者在分配新的 RelayCommand 之前检查它是否为空。每次调用 get 时,您的代码都会创建一个新命令
-
我认为这不是最好的方法。应该使用命令来执行诸如保存或取消之类的操作。 UI 元素外观的更改应通过控件模板完成,在您的情况下,可能是事件触发器。
-
视图模型属性上应该有一个或多个 DataTriggers,由命令更改。根据该属性的值,DataTriggers 会将按钮内容设置为不同的值。