c# - 如何在代码中使用 Binding?

标签 c# wpf

我一直在尝试创建一个数据绑定(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/

相关文章:

c# - 序列化对其他序列化对象的引用

c# - 在 Windows 资源管理器中获取拖放文件的文件路径

c# - 如何以编程方式更改图像颜色?

WPF:GroupBox 动态高度

c# - 一个站点上没有 'Access-Control-Allow-Origin' header ,但另一个站点上没有

c# - LINQ to SQL - 自定义属性

c# - 从组件派生并正确实现 IDisposable

C# x509 证书解码器

WPF BackgroundWorker 与 Dispatcher

在获得焦点时启动 WPF 验证