Я создал UserControl, который должен отображать преобразованное строковое значение на основе содержимого связанной ObservableCollection.Все работает, когда приложение загружается;Мой IValueConverter вызывается и выдает правильный строковый результат, который корректно отображается в моем UserControl.Однако, если содержимое ObservableCollection изменяется, мой элемент управления не обновляется.
Кроме того, до того, как я создал этот элемент управления, у меня было такое же поведение, но оно связывало свойство Content обычного элемента управления Button, и это также работало правильно и обновлялось, как и ожидалось.
Есть идеи, что мне не хватает, чтобы получить то же самое с моим UserControl?
Свойство control выглядит так:
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(MyUserControl));
public string Text
{
get { return GetValue(TextProperty) as string; }
set { SetValue(TextProperty, value);
}
Соответствующий раздел в XAML UserControl (который отображаетпреобразованное строковое значение) равно;
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type Controls:MyUserControl}}, Path=Text}" />
И элемент управления создается в отдельном окне следующим образом:
<CoreControls:MyUserControl
Name="myControl"
Text="{Binding Path=ObservableCollectionInstance, Converter={StaticResource MyValueConverter}, Mode=OneWay}" />