Gibt es eine gute Möglichkeit, eine Eigenschaft an einen konstanten Wert im Codebehind zu binden?
Wenn ich ComboBox benutze, mache ich normalerweise diesen Weg in xaml und Code hinterher:
XAML:
%Vor%Codebehind:
%Vor%Der Grund, warum ich diesen Weg gewählt habe, ist folgender:
Allerdings sollte der interne Bezeichner in der Wartung wie folgt definiert sein:
%Vor%Das Problem ist anscheinend, dass die Eigenschaft nicht const-Wert sein kann, also gibt es keine Möglichkeit, ID_foo und ID_bar an Uid of ComboBoxItem wie folgt zu binden:
%Vor%Ich möchte also wissen, wie ich dieses Problem lösen kann. Oder gibt es einen besseren Weg, es zu implementieren? Es wäre auch nett.
Am besten,
Es wäre besser, die StaticExtension zu verwenden :
%Vor%Wo local ist ein xmlns-Alias für den C # -Namespace Ihrer Klasse. Weitere Informationen finden Sie hier .
Das Problem bei der Verwendung von Binding ist, dass Sie viel Overhead für etwas hinzufügen, das sich niemals ändert. Die Bindung wird versuchen, Ihr Eigentum zu überwachen. Außerdem gibt es bekannte "Lecks" mit einer Bindung mit einer nicht abhängigen Eigenschaft für ein Objekt, das nicht implementiert wird INotifyPropertyChanged.
Sie müssen eine Eigenschaft erstellen, die die Konstante zurückgibt (definiert in einem const), dh:
%Vor%Sobald dies in einer Eigenschaft ist, wird es durch Bindung nutzbar sein.