我有這個ToggleButton
在我的WP7的應用程序,我綁定到我的視圖模型的屬性。我也有一個ToggleButton
的命令,單擊按鈕時它可以工作。綁定的切換按鈕的財產器isChecked在WP7
基於該命令的結果,我設置綁定到ToggleButton.IsChecked
屬性的屬性。但是無論我設置屬性如何,切換按鈕都會保持自己的生活,只需在未選中狀態和已選中狀態之間進行切換。這是預期的行爲還是這是一個錯誤?
好像切換按鈕失去了它的約束力上點擊時,這會是真的嗎?我想要綁定的原因是我並不總是希望更改已選狀態,因爲我的命令中的邏輯可能會失敗,例如網絡關閉了,所以它不能在後臺設置我想要的,等等。
任何辦法解決這個問題呢?
的XAML:
的樣式設置基於狀態的按鈕的圖像。的命令執行邏輯被點擊時按鈕和,正如前面所說的,套IsToggleButtonChecked到所需的值。我在IsChecked上都試過OneWay和TwoWay,但是我看不出有什麼不同。
視圖模型:
public const string IsToggleButtonCheckedPropertyName = "IsToggleButtonChecked";
private bool _isToggleButtonChecked;
public bool IsToggleButtonChecked
{
get { return _isToggleButtonChecked; }
set
{
if (_isToggleButtonChecked == value)
{
return;
}
_isToggleButtonChecked = value;
RaisePropertyChanged(IsToggleButtonCheckedPropertyName);
}
}
這個屬性我想改變的切換按鈕的選中狀態,每次設定。
您可以分享您用於切換按鈕的XAML嗎?也是你綁定的財產的代碼? – apiguy
如果您使用mvvm-light作爲視圖模型,建議使用EventToCommand(http://geekswithblogs.net/lbugnion/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand -behavior.aspx) –