我剛剛開始使用WPF,並一直在閱讀「Sams教你自己WPF」。在第6章中,它介紹瞭如何在後面的代碼中綁定屬性。這種方法對我來說取得了不一致的成功。Sams在24小時內自學WPF:與OnChanged事件的結果不一致
在我當前的項目中,這個方法適用於兩個值,我綁定到標籤的雙打。當我嘗試使用相同的方法將bool綁定到MenuItem的IsEnabled屬性時,該方法失敗。
然後我回到本書的簡單示例,並將屬性類型從String更改爲bool。在這種情況下,我可以將bool綁定到Button和TextBox。
我注意到這個方法失敗時,EventHandler在OnChanged函數中總是爲null。我錯過了什麼?
private String _myString;
public String MyString
{
get { return _myString; }
set
{
_myString = value;
OnMyStringChanged();
}
}
public event EventHandler MyStringChanged;
private void OnMyStringChanged()
{
if (MyStringChanged != null)
MyStringChanged(this, EventArgs.Empty);
}
我在我的MainWindow類中有以下XAML。在MainWindow的構造函數中,我將DataContext設置爲包含MyString的類的新實例。
<TextBox Text="{Binding Path=MyString, Mode=TwoWay}"
Margin="4"/>
<Button Grid.Row="1"
Height="40"
Margin="4"
Click="Button_Click"
Content="{Binding Path=MyString, Mode=TwoWay}"/>
我們還需要查看您的xaml。 – mydogisbox