2017-02-20 9 views
1

Заметна влияние на производительность, если я настроить связывание таким образом:Производительность: Binding Source против х: Static

<TextBlock Text="{Binding Source={x:Static SystemColors.ActiveBorderBrush}}/> 

вместо этого способа:

<TextBlock Text="{x:Static SystemColors.ActiveBorderBrush}"/> 

?

Или я должен ожидать других недостатков?

Разница уже описана здесь: Binding Source vs x:Static. Но нет никаких заявлений о влиянии/недостатках производительности.

+0

делает 2-й пример работы вообще? связанная почта говорит, что это вызовет ошибку времени выполнения. Исключение является серьезным недостатком, не так ли? – ASh

+0

Хорошая точка. Возможно, скопированный пример не так хорош. Но мой вопрос больше, если он вообще может вызвать проблемы. Лучшим примером является примерно следующее: «... Label =" {Binding Source = {x: Static oc: LocalizedText.Data}} "..." вместо "... Label =" {x: Static oc: LocalizedText.Data} «...» –

+0

См. Мой ответ ... – mm8

ответ

0

Есть ли заметный Влияние на производительность, если я устанавливаю привязку таким образом?

Нет, не предусмотрен, что статическое свойство фактически возвращает значение, которое Text свойство TextBlock может быть установлено на конечно :)

Других слов нет никакого пренебрежимо малой производительности разница между сделать это:

<TextBlock Foreground="{Binding Source={x:Static SystemColors.ActiveBorderBrush}}" Text="Test"/> 

... и это:

<TextBlock Foreground="{x:Static SystemColors.ActiveBorderBrush}" Text="Test"/> 

x:Static, вероятно, теоретически быстрее, поскольку он не выполняет никаких преобразований, но это довольно незначительно на компьютере эпохи 2017 года, я бы сказал.

Смежные вопросы