为什么绑定到MinWidth不起作用?

本文关键字:不起作用 MinWidth 绑定 为什么 | 更新日期: 2023-09-27 18:08:55

在我的应用程序中,我创建了模板控件。现在我想将MinWidth绑定到依赖属性。例如在xaml中,我输入

<ColumnDefinition  Width="Auto" MinWidth="{TemplateBinding ColumnWidth}"/>

和我的代码

public double ColumnWidth
{
    get { return (double)GetValue(ColumnWidthProperty); }
    set { SetValue(ColumnWidthProperty, value); }
}
public static readonly DependencyProperty ColumnWidthProperty =
    DependencyProperty.Register(
        "ColumnWidth", typeof(double), typeof(Schedule), new PropertyMetadata(200));

不幸的是,它不起作用,我不知道为什么。MinWidth总是0。也许有人知道我做错了什么?

为什么绑定到MinWidth不起作用?

我不知道为什么TemplateBinding在你的情况下不起作用,但你总是可以用常规的Binding替换它,像这样:

<ColumnDefinition MinWidth="{Binding ColumnWidth,
                             RelativeSource={RelativeSource Mode=TemplatedParent}}"/>

我已经在一个自定义控件的ControlTemplate中进行了测试。TemplateBinding不工作,Binding工作