【问题标题】:WPF bind control sizeWPF 绑定控件大小
【发布时间】:2009-04-22 05:18:50
【问题描述】:
我有一个 StackPanel,其中包含我想调整大小的自定义用户控件列表。我希望用户能够拖动滑块并上下缩放控件大小。
有没有办法将控件宽度绑定到滑块值?类似于:
<MyControl Width="{Binding Path=SizeSlider.SelectedValue}"/>
这可能吗?还是我应该只遍历控件并在滑块值更改时手动设置大小?
【问题讨论】:
标签:
.net
wpf
data-binding
xaml
【解决方案1】:
你应该可以通过使用来做到这一点
<MyControl Width="{Binding ElementName=SizeSlider, Path=Value}"/>
通过仅设置 Path,您假设在当前 DataContext 中存在名为 SizeSlider 的内容。
我已经在代码中完成了一次,并且成功了:
var binding = new Binding("Value") { Source = slider };
BindingOperations.SetBinding(b, WidthProperty, binding);
BindingOperations.SetBinding(b, HeightProperty, binding);
很明显
<MyControl Width="{Binding Source=SizeSlider, Path=Value}"/>
可能是另一种方法。