Я пытаюсь обновить свойство, используя PropertyChangedEventHandler
, но я думаю, что мое концептуальное понимание того, как это работает, может быть несколько ошибочным.Поскольку я новичок в WPF и silver-light.
Итак, позвольте мне объяснить, у меня есть свойство, которое установлено на 0, но через некоторое время поток внутренне изменяет значение с 0 на 9, нонесмотря на изменение значения, это свойство никогда не обновляется в реальном виде, и я не знаю почему!Даже после того, как я реализовал PropertyChangedEventHandler
, никаких изменений не произошло, но если я зарегистрировал свойство, это показывает, что значение на самом деле равно 9
Итак, вот фрагмент кода, который реализует PropertyChangedEventHandler
:
public class CustomColumn : IColumnViewable, INotifyPropertyChanged
{
...
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public void OnPropertyChanged(string propertyName)
{
Foo.log.Error(": start on property change");
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
Foo.log.Error(": end on property change");
}
public static string _total;
public string total { get { return _total; } set { _total = value; OnPropertyChanged("total"); Foo.log.Error(": property change"); } }
...
}
Вот часть моего xaml:
<DataTemplate x:Key="ColumnView">
<UserControl HorizontalAlignment="Stretch">
<StackPanel HorizontalAlignment="Stretch">
...
<RichTextBox Margin="5,2,5,2">
<Paragraph>
<Run Text="{Binding Path=total, Mode=OneWay}" FontWeight="Bold" FontSize="30" />
<Run Text=" total clicks" FontWeight="Bold" />
</Paragraph>
</RichTextBox>
...
<ContentControl VerticalAlignment="Stretch" Content="{Binding Path=timeline}" ContentTemplate="{Binding Path=timelineView.ContentTemplate}" />
</StackPanel>
</UserControl>
</DataTemplate>
И я делаю это при инициализации:
CustomColumn content = new CustomColumn();
content.total = "0";
И затем я передаю объект в поток, который при некоторомPoint делает это:
content.total = "9";
Foo.log.Error("value is "+content.total);
И свойство никогда не обновляется, и я не знаю почему - любая помощь очень ценится