我已經創建了一個errorMessage作爲我的ViewModel中的字符串。當你得到一個錯誤或類似的東西時,我會用這個來向用戶顯示一條消息。在wpf中使用propertyChanged,綁定應該更新按鈕單擊
在視圖模型
我已經實現了INotifyPropertyChanged接口,也是我創造了這個塊:
#region INotifyPropertyChanged members
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
在視圖模型的頂部,我創建了一個名爲的ErrorMessage字符串。
public string ErrorMessage { get; set; }
在構造函數中,我與
ErrorMessage = "Error message";
測試它,我可以看到在我的負荷視圖中的文本。 問題是當我遇到try/catch塊中的異常並將錯誤設置爲文本時,它不會被更新。
在異常或點擊一個按鈕,我曾嘗試進入:
ErrorMessage = "No rooms with entered settings were found";
觀
<StackPanel Margin="10, 5" Grid.Row="5" Grid.ColumnSpan="3">
<TextBlock FontFamily="../Fonts/bold.ttf#bold" Height="40" Foreground="Red" Text="{Binding ErrorMessage, UpdateSourceTrigger=PropertyChanged}"></TextBlock>
</StackPanel>
如果向右滾動,你可以看到,我已經綁定ErrorMessage並給它UpdateSourceTrigger = PropertyChanged。
我需要什麼,所以我可以在我的ViewModel中將ErrorMessage設置爲等於某些場景中的文本?
已經設置您的視圖的DataContext的到你的視圖模型? – ChrisF
您需要在屬性的設置器中調用NotifyPropertyChanged,則不能使用Auto屬性。 –
ChrisF,是的,否則它不會工作,當我在構造函數中設置ErrorMessage時,它的上下文設置後,我想根據場景 – Raaydk