Мне просто интересно, имеет ли это какое-то значение, повторяю ли я подпуть к некоторому свойству в каждой привязке или я связываю DataContext и указываю только относительные пути в привязках.
Примеры:
Абсолютные пути:
<UserControl x:Name="uc"/>
<StackPanel>
<TextBox Text="{Binding ViewModel.Prop1, ElementName=uc}" />
<TextBox Text="{Binding ViewModel.Prop2, ElementName=uc}" />
</StackPanel>
</UserControl/>
Относительные пути:
<UserControl x:Name="uc"/>
<StackPanel DataContext="{Binding ViewModel, ElementName=uc}">
<TextBox Text="{Binding Prop1}" />
<TextBox Text="{Binding Prop2}" />
</StackPanel>
</UserControl/>
Я знаю, что оба они связывают одни и те же свойства, но мне интересно, что на самом деле происходит за кулисами,потому что, возможно, это может повлиять на производительность в ситуациях, когда существует более двух привязок.Приведет ли вариант с абсолютными путями к большему «трафику событий», поскольку каждая из привязок текста соблюдает свойство ViewModel и его конкретное свойство?Или это будет точно так же?Я мог бы вообразить некоторый BindingManager, разрешающий все пути привязки, s.th.оба варианта заканчиваются одним и тем же IL.
Если структура иерархии привязки действительно оказывает влияние: есть ли положительный эффект (помимо предпочтений стиля кода) использования «более медленного» подхода с полными путями вкаждая привязка?