当窗口打开时,Abort
可以点击,但所有其他按钮都没有。
我把断点放在我的吸气者身上:
public ICommand OkCommand
{
get { return _okCommand; }
}
并且在调用按钮后禁用该按钮。我觉得我在这里遗漏了一些明显的东西。我的装订设置不正确吗?还是没有正确初始化?
我的ViewModel构造函数:
[ImportingConstructor]
public MyViewModel(IMyViewModel view)
: base(view)
{
_okCommand = new DelegateCommand(OkHandler, IsValid);
_refreshCommand = new DelegateCommand(RefreshHandler, IsValid);
_testConnCommand = new DelegateCommand(TestConnectionHandler, IsValid);
}
我的XAML用于两个按钮。
<StackPanel Orientation="Horizontal" Margin="0,14" HorizontalAlignment="Center" DockPanel.Dock="Bottom">
<Button Command="{Binding OkCommand}" Content="Ok" IsDefault="True" TabIndex="3" Margin="5,0"/>
<Button Content="Abort" IsCancel="True" TabIndex="4" Margin="0"/>
</StackPanel>
答案 0 :(得分:1)
DelegateCommand
constructor的第二个参数是Func
,它告诉Command
是否可执行。 WPF使用它来确定是否应该启用按钮等。
我会检查您的IsValid
Func
/方法是否正常,即:返回true
。