2017-02-20 3 views
1

Gibt es einen merklichen Einfluss auf die Leistung, wenn ich Setup die Bindung auf diese Weise:Auswirkungen auf die Leistung: Source Bindung vs x: Static

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

statt diese Weise:

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

?

Oder muss ich andere Nachteile erwarten?

Der Unterschied ist bereits hier beschrieben: Binding Source vs x:Static. Aber es gibt keine Aussage über die Auswirkungen der Leistung.

+0

funktioniert das zweite Beispiel überhaupt? linked post sagt, es wird Laufzeitfehler verursachen. Ausnahme ist ein schwerwiegender Nachteil, oder? – ASh

+0

Guter Punkt. Vielleicht ist das kopierte Beispiel nicht so gut. Aber meine Frage ist mehr, wenn es im Allgemeinen Probleme verursachen kann. Ein besseres Beispiel ist etwa so: "... Label =" {Binding Source = {x: Statisch oc: LocalizedText.Data}} "..." statt "... Label =" {x: Static oc: LocalizedText.Data} "..." –

+0

Siehe meine Antwort ... – mm8

Antwort

0

Gibt es eine spürbare Auswirkungen auf die Leistung, wenn ich die Bindung auf diese Weise einrichten?

Nein, ist es nicht vorgesehen, dass die statische Eigenschaft tatsächlich einen Wert zurückgibt, dass die Text Eigenschaft eines TextBlock kann natürlich eingestellt werden :)

Mit anderen Worten keine nicht zu vernachlässigende Leistung wird Unterschied zwischen dies zu tun:

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

... und:

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

x:Static ist wahrscheinlich theoretisch schneller, da es keine Konvertierung durchführt, aber das ist auf einem Computer 2017 Ära ziemlich vernachlässigbar, würde ich sagen.

Verwandte Themen