WPF binding not updating the view

WPF binding not updating the view

 

回答1

You need to implement INotifyPropertyChanged in your ViewModel order to notify the View that the property has changed.

Here's a link to the MSDN page for it: System.ComponentModel.INotifyPropertyChanged

The most important thing to note is that you should raise the PropertyChanged event in your property setter.

 

回答2

Add binding mode two way, because by default Textblock's binding mode is one way

<TextBlock HorizontalAlignment="Left" Name="StatusText" Margin="0,20" TextWrapping="Wrap" Text="{Binding StatusText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
            ... Status ...
</TextBlock>

and also, of course you need to implement INotifyPropertyChanged for the purpose, refer to this link for how to implement.

评论

Making the binding twoway is pointless as the control can't change the text so has no need to be able to update the source. Oct 20, 2015 at 11:00

 

回答3

Your view model needs to implement INotifyPropertyChanged, and you need to raise it every time one of your property changes (ie in the setter).

Without it WPF has no way of knowing that the property has changed.

 

posted @ 2022-09-09 17:18  ChuckLu  阅读(42)  评论(0)    收藏  举报