На основе документации через MSDN...
Вы также можете использовать InvalidateProperty для принудительная переоценка привязки против источника данных, который не способен для реализации рекомендованных Уведомление INotifyPropertyChanged механизм...
... код должен работать, но это не так.
public partial class Window1 : Window
{
private Payload _payload = new Payload();
public Window1()
{
InitializeComponent();
this.DataContext = _payload;
}
private void Invalidate(object sender, RoutedEventArgs e)
{
_payload.Timestamp = DateTime.Now.Add(TimeSpan.FromHours(1)).ToLongTimeString();
Button b = sender as Button;
b.InvalidateProperty(Button.ContentProperty);
}
}
public class Payload
{
private String _payload = DateTime.Now.ToLongTimeString();
public String Timestamp
{
get
{
return _payload;
}
set
{
_payload = value;
}
}
}
<Grid>
<Button Click="Invalidate"
Width="100"
Height="50"
Content="{Binding Path=Timestamp}"/>
</Grid>
Любая идея, что вызывает это поведение?