【发布时间】:2015-07-07 03:31:03
【问题描述】:
目前正在实现一个自定义控件,我想直接从我的 viewModel 绑定一些值,而不使用 xaml。 我可以这样做:
<customControls:MyControl MyValue="{Binding ElementName=MyElem, Path=Text}">
<Textbox Text="{Binding Mytext}" />
但不是:
<customControls:MyControl MyValue="{Binding MyText}">
控件在模板中定义,在我的 MyProperty 的控件代码中定义为:
public static readonly DependencyProperty MyValueProperty = DependencyProperty.Register("MyValue", typeof(double), typeof(CustomOEE), new FrameworkPropertyMetadata((Double)20,FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
public double MyValue
{
get
{
return (double)GetValue(MyValueProperty);
}
set
{
SetValue(MyValueProperty, value);
}
}
非常感谢您的帮助
【问题讨论】:
-
您正在将文本绑定到 double 类型的属性并指定双向绑定。 ToString() 将发生双精度字符串,但您不能自动转换回来。这篇文章有一些关于转换的细节:stackoverflow.com/questions/17178738/…
标签: wpf wpf-controls custom-controls dependency-properties