Legen Sie einen Rand von einer Bindung fest

8

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%     
user589195 16.01.2013, 14:13
quelle

4 Antworten

16

Den Rand zurückgeben?

%Vor%

Dann ändern Sie:

%Vor%     
Luuk 16.01.2013, 14:33
quelle
12

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.

    
odyss-jii 16.01.2013 14:17
quelle
2

Anstatt eine int zurückzugeben, können Sie eine Dicke zurückgeben. was die Margin tatsächlich ist:

%Vor%

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.

    
Default 17.01.2013 10:20
quelle
1

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.

    
RandomEngy 05.09.2015 00:47
quelle

Tags und Links