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

时间:2013-04-13 17:10:50

标签: c# xaml windows-runtime windows-store

在我的应用程序中,我创建了模板化控件。现在我想将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.也许有人知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

我在自定义控件的ControlTemplate中对此进行了测试。 TemplateBinding不起作用Binding