我有一個Button
...如何綁定一個布爾值,鍵切換按鈕的Click事件
<Button Click="Button_Click" />
我想一個CanClick
布爾莫名其妙地綁定到這一點。當CanClick
爲false
時,則Click
事件不應觸發...
這怎麼辦?
我有一個Button
...如何綁定一個布爾值,鍵切換按鈕的Click事件
<Button Click="Button_Click" />
我想一個CanClick
布爾莫名其妙地綁定到這一點。當CanClick
爲false
時,則Click
事件不應觸發...
這怎麼辦?
到目前爲止您嘗試過什麼?
我會使用綁定到Button
的IsEnabled
屬性。
<Button Click="Button_Click" IsEnabled="{Binding Path=CanBeClicked}" />
最好的辦法是財產CanClick
到Button
控制的IsEnabled
屬性綁定。這樣,當CanClick
是false
,IsEnabled
也將是false
。禁用的按鈕不會觸發Click
事件。
// ... UserControl code-behind ...
private bool mCanClick = false;
public bool CanClick
{
get { return mCanClick; }
}
// ... UserControl XAML ...
<UserControl ... DataContext="{Binding RelativeSource={RelativeSource Self}}">
...
<Button CanClick="{Binding CanClick}" Click="Button_Click" />
...
</UserControl>
對於這一點,你可以只使用一個command代替(通過結合Button.Command
爲Command
),將禁用按鈕,如果CanExecute
是false
(您可能需要使用CanExecuteChanged
事件讓按鈕知道的改爲CanExecute
)。
+1,這是我最好的答案。 – Bolu 2012-02-02 17:02:15