Laden...

DockPanel.Dock ="xxx" vom Code aus oder per {Binding} setzen

Erstellt von proper_csharp vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.092 Views
P
proper_csharp Themenstarter:in
60 Beiträge seit 2006
vor 14 Jahren
DockPanel.Dock ="xxx" vom Code aus oder per {Binding} setzen

Hallo,

suche eine Möglichkeit, anstatt fix in XAML ein


DockPanel.Dock="Left"

in Abhängigkeit eines internen Wertes eines Objektes eben wahlweise auch mal ein


DockPanel.Dock="Top"

zu setzen.

Irgendwie bin ich da mit meinen Versuchen via DataTrigger gescheitert.
Stehe da irgendwie auf dem Schlauch 😉

Wie geht das per C# Code oder als {Binding} in XAML ?
Schon mal Danke für eine Hilfe.

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo proper_csharp,

ich weiß leider nicht wo an dieser Stelle dein Problem liegt

da das Dock Property kann ohne weiteres per
1.Direkt per Binding 1.Datatrigger 1.Code 1.Binding mit Converter

gesetzt werden.

Zeige uns doch mal deinen Versuch dann können wir Dir auch recht schnell sagen an welcher stelle dein Problem liegt

Freundliche Grüße
Lars

5.742 Beiträge seit 2007
vor 14 Jahren

Hallo proper_csharp,

per Code:


DockPanel.SetDock(target, DockMode.Left); //oder so - ich glaube, es war DockMode

als Binding (wobei Foo die Property ist, an die gebunden werden soll):


DockPanel.Dock="{Binding Path=Foo}"

als "umgekehrtes" Binding (wobei Name für den Namen des Elementes steht):


{Binding Path=(DockPanel.Dock)}

//EDIT: Syntax korrigiert

2.223 Beiträge seit 2005
vor 14 Jahren

DockPanel.SetDock(target, DockMode.Left); //oder so - ich glaube, es war DockMode

es wäre Dock

Freundliche Grüße
Lars

P
proper_csharp Themenstarter:in
60 Beiträge seit 2006
vor 14 Jahren

Super, vielen Dank an alle.
War gestern abend wohl doch etwas sehr spät, als ich das versucht habe 😉

...als Binding (wobei Foo die Property ist, an die gebunden werden soll):
DockPanel.Dock="{Binding Path=Foo}" ...

ist das was ich brauche. Habe da viel zu kompliziert gedacht (DataTrigger)
Meine Property 'Foo' habe ich nun jetzt als Typ string umdefiniert, der "Left" oder "Top" liefert und gut ist. War vorher bool.

Hätte jetzt klar auch per Converter funktioniert, aber so ist es am einfachsten.

Danke.