2009-04-22 11 views
1

Ich habe ein StackPanel mit einer Liste benutzerdefinierter Benutzersteuerelemente, die ich ändern möchte. Ich möchte, dass der Benutzer einen Schieberegler ziehen und die Kontrollgröße nach oben und unten skalieren kann.WPF-Steuerelementgröße

Gibt es eine Möglichkeit, die Steuerbreite an einen Schiebereglerwert zu binden? Ähnliches:

<MyControl Width="{Binding Path=SizeSlider.SelectedValue}"/> 

Ist das möglich? Oder sollte ich nur die Steuerelemente durchlaufen und die Größe manuell einstellen, wenn sich der Schieberegler ändert?

Antwort

3

sollten Sie in der Lage sein, diese einfach gut zu tun, indem

<MyControl Width="{Binding ElementName=SizeSlider, Path=Value}"/> 

mit von nur Path Einstellung, die Sie davon ausgehen, dass etwas SizeSlider Namen im aktuellen Datacontext existieren würde.

Ich habe das einmal in Code getan und es funktionierte:

var binding = new Binding("Value") { Source = slider }; 
BindingOperations.SetBinding(b, WidthProperty, binding); 
BindingOperations.SetBinding(b, HeightProperty, binding); 

So scheinbar

<MyControl Width="{Binding Source=SizeSlider, Path=Value}"/> 

eine andere Art und Weise sein könnte, es zu tun.