Успешный обратный звонок при входе не запускается в Linkedin.

RelativeSource vs. ElementName

Эти два подхода могут достичь того же результата,

RelativeSrouce

Binding="{Binding Path=DataContext.MyBindingProperty, 
          RelativeSource={RelativeSource AncestorType={x:Type Window}}}"

Этот метод ищет контроль над окном типа (в этом примере) в визуальном дереве, и когда он его находит, вы в основном можете получить доступ к DataContext, используя Path=DataContext..... Плюсы этого метода заключаются в том, что вам не нужно привязываться к имени, и это своего рода динамика, однако изменения, внесенные в ваше визуальное дерево, могут повлиять на этот метод и, возможно, сломать его.

ElementName

Binding="{Binding Path=DataContext.MyBindingProperty, ElementName=MyMainWindow}

Этот метод относится к твердому статическому Name, так что пока ваша область видится, вы в порядке. Вы должны придерживаться своего соглашения об именах, а не для разрыва этого метода, конечно. Подход является простым простым, и все, что вам нужно, это указать Name="..." для вашего окна / UserControl.

Хотя все три типа (RelativeSource, Source, ElementName) способны выполнять То же самое, но в соответствии со следующей статьей MSDN, каждый из них лучше использовать в своей области специальности.

Как указать источник привязки

Найдите краткое описание каждого из них плюс ссылку на более подробную информацию в таблице внизу стр.

0
задан Shreya 18 January 2019 в 04:10
поделиться