У меня есть пользовательский элемент управления с привязками, как показано ниже
<DataTemplate DataType="{x:Type vm:EditorTabViewModel}">
<me:MarkdownEditor
Options="{Binding Path=Options, RelativeSource={RelativeSource AncestorType=Window}}" />
</DataTemplate>
Я считаю, что привязка (Window1.Options
) устанавливается (после перехода по коду в режиме отладки), параметры редактора уценки (предполагается, чтоset Fonts, Colors и т. д.) не устанавливается или, по крайней мере, пользовательский интерфейс не обновляется.Я хочу показать, что происходит в MarkdownEditor.xaml.cs
, но это другой (на который ссылаются) проект.Как я могу убедиться, что MarkdownEditor.Options
установлен по крайней мере?
Я на самом деле проверил, что сторона MarkdownEditor
работает по следующему
<Window ...>
<Grid>
<Button Content="Options" Click="Button_Click" Grid.Row="0" />
<me:MarkdownEditor Options="{Binding Options, RelativeSource={RelativeSource AncestorType=Window}}" Grid.Row="1" />
</Grid>
</Window>
Так что разница в том, что последний MarkdownEditor
просто в Grid
в Window
.Единственный сбой - MarkdownEditor
в пределах TabControl
, привязанный к ObservableCollection<TabViewModel>
Решение Visual Studio, воспроизводящее проблему
Я не очень хорошо объясняюВ общем, простой проект, который я составил, минус весь ненужный шум, загруженный в media fire , чтобы вы могли взглянуть на то, что не так
Видео, показывающее проблемуна Screenr
Простое использование редактора в окне / сетке.
привязка работает нормально
Затем при использовании вместе с TabControl
, привязанным к ObservableCollection<EditorTabViewModel>
, привязка работает, как показано в 2 TextBox
обновляет свои значения.но редактор не обновляет