[英]Why are some of my buttons disabled at runtime?
打開窗口后,可以單擊“ 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>
DelegateCommand
構造函數的第二個參數是Func
,它指示Command
是否可執行。 WPF使用它來確定是否應啟用按鈕等。
我將檢查您的IsValid
Func
/方法是否正常,即:返回true
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.