Я не так часто использовал WPF, поэтому решение этого вопроса, вероятно, довольно простое.
В идеале, который я разрабатываю, он будет иметь несколько элементов управления (текстовый редактор), каждый из которых будет размещен на вкладке, во многом как VS для каждого исходного файла. Когда пользователь щелкает по новой, "host" создает новое EditorWindow (usercontrol), создает новую вкладку и сообщает вкладке отображать созданное им EditorWindow, а затем обновляет свойство с именем currentWindow (типа EditorWindow) тем, которое это в настоящее время активен. Внутри EditorWindow находится текстовый редактор, имя которого textEditor (также свойство). То, что я пытаюсь сделать, это взять этот код из источника быстрого запуска элемента управления текстового редактора, который я использую
<StackPanel>
<CheckBox Checked="EditiorOptionsChecked" IsChecked="{Binding ElementName=Control, Path=currentWindow.textEditor.IsIndicatorMarginVisible}" Content="Indicator margin visible" />
<CheckBox Checked="EditiorOptionsChecked" IsChecked="{Binding ElementName=Control, Path=currentWindow.textEditor.IsLineNumberMarginVisible}" Content="Line number margin visible" />
<CheckBox Checked="EditiorOptionsChecked" IsChecked="{Binding ElementName=Control, Path=currentWindow.textEditor.IsRulerMarginVisible}" Content="Ruler margin visible (useful for fixed-width fonts only)" />
<CheckBox Checked="EditiorOptionsChecked" IsChecked="{Binding ElementName=Control, Path=currentWindow.textEditor.IsSelectionMarginVisible}" Content="Selection margin visible" />
</StackPanel>
поместите это в управляющие элементы хоста xaml и привяжите флажки к редактору синтаксиса. Я пробовал пару разных вещей безрезультатно. Элемент управления - это имя окна, в котором размещены все вкладки, а путь, очевидно, должен быть свойством, к которому привязаны флажки. Я почти уверен, что проблема в том, что во время выполнения currentWindow не инициализируется, поэтому мои привязки никогда не обновляются, но я не знаю, как решить эту проблему. Спасибо!