为什么绑定到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。也许有人知道我做错了什么?
我不知道为什么TemplateBinding
在你的情况下不起作用,但你总是可以用常规的Binding
替换它,像这样:
<ColumnDefinition MinWidth="{Binding ColumnWidth,
RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
我已经在一个自定义控件的ControlTemplate中进行了测试。TemplateBinding
不工作,Binding
工作