Как установить источник привязки на «себя» / UserControl Code Behind - PullRequest
7 голосов
/ 17 ноября 2010

Как настроить источник привязки так, чтобы он указывал на «this» UserControl CodeBehind? Например. Из UserControl MarkdownEditor.xaml я хочу указать свойства в MarkdownEditor.xaml.cs. Делаем это без настройки DataContext = this

Обновление: мое решение

Это то, что я сделал, но пометил решение @Alex B. как ответ. Я не хотел устанавливать DataContext всего элемента управления на Self, так как я также привязываюсь к другим объектам

{Binding RelativeSource={RelativeSource AncestorType={x:Type local:MarkdownEditor}}, Path=Options.FontFamily}

Ответы [ 2 ]

9 голосов
/ 17 ноября 2010

Попробуйте использовать следующую привязку:

<MarkdownEditor DataContext="{Binding RelativeSource={RelativeSource Self}}" />
6 голосов
/ 05 марта 2012

Вместо использования предложенного вами расширенного выражения:

{Binding RelativeSource={RelativeSource AncestorType={x:Type local:MarkdownEditor}}, Path=Options.FontFamily}

Разве не проще просто установить x:Name из UserControl?

<UserControl
        ...
    x:Name="Control">

    <TextBlock Text="{Binding ElementName=Control, Path=SomeText}" />

</UserControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...