2009-04-22 105 views
1

我有一個StackPanel,其中包含我想調整大小的自定義用戶控件列表。我希望用戶能夠拖動滑塊並上下調整控件大小。WPF綁定控件大小

有沒有辦法將控制寬度綁定到滑塊值?類似於:

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

這可能嗎?或者,我應該迭代通過控件並手動設置大小,每當滑塊值更改?

回答

3

您應該能夠通過使用

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

做到這一點就好了僅通過設置Path你假設名爲SizeSlider東西會在當前的DataContext存在。

我在代碼中完成這個曾經和它的工作:

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

因此很明顯,

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

可能是另一種方式來做到這一點。