我一直在尝试创建一个数据绑定(bind),以便 WrapPanel 在调整窗口大小时自动水平调整大小以匹配它的容器(StackPanel),但没有成功。
我开始搜索如何去做,然后我就找到了这个
Binding SomeBinding = new Binding ();
SomeBinding.Source = SomeEntry;
SomeBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
SomeBinding.Path = new PropertyPath ("Width");
SomeBinding.Mode = BindingMode.OneWay;
SomeStackPanel.SetBinding (StackPanel.WidthProperty, SomeBinding);
但是在调整窗口大小时它什么也做不了。我看了例子,但我并没有真正看到这个问题。有人可以解释上面的代码片段有什么问题吗?
最佳答案
StackPanel
不会扩展到其容器的大小 - 它们是其内容的大小。因此,如果 WrapPanel 链接到 StackPanel.Width
,则窗口增大时不会发生任何事情。
您可能正在寻找其他东西而不是 StackPanel - 尝试使用 Grid
。
关于c# - 如何在代码中使用 Binding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586179/