Ich habe einen Bindungswert, der ein int zurückgibt, das einen Wert darstellt, den ich nicht den linken und rechten Rändern eines Elements zuordnen konnte.
Heres, was ich versucht habe, aber es wird nicht kompilieren.
Es funktioniert, wenn ich den ganzen Rand einstelle, aber ich will nur links und rechts.
Xaml:
%Vor%Klasse:
%Vor%Sie müssen dazu wahrscheinlich einen ValueConverter verwenden. Etwas wie:
%Vor%Sie können den Konverter dann folgendermaßen verwenden:
%Vor% Angenommen, xxx
ist ein gültiger XML-Namespace.
Anstatt eine int
zurückzugeben, können Sie eine Dicke zurückgeben. was die Margin
tatsächlich ist:
Der Grund, warum Ihr Beispiel funktioniert, ist, dass Thickness
überladene Konstruktoren hat, die 1, 2 oder 4 Argumente haben. Wenn der Konstruktor, der 1 Argument benötigt, aufgerufen wird, werden alle Seiten mit diesem Wert initialisiert. WPF konvertiert dies basierend auf dem gebundenen Wert automatisch in ein Thickness
.
Zu einem anderen Thema könnte BondIndent
besser jetzt BondMargin
oder BondThickness
genannt werden.
Ich habe nur einige angehängte Eigenschaften geschrieben, die es leicht machen sollten, einen individuellen Margin-Wert aus einer bindenden oder statischen Ressource zu setzen:
WPF:
%Vor%UWP:
%Vor%Verwendung:
%Vor%Das Schöne ist, dass sie die anderen Werte auf dem Rand nicht überschreiben, also können Sie sie auch kombinieren.