如何扩展现有控件(在我的情况下为ComboBox)以包含一个新属性,我可以绑定到我的视图模型上的属性?
我在控件的类上有一个Dependancy属性,如下所示:
public class MyComboBox : ComboBox
{
public static readonly DependencyProperty MyTextProperty =
DependencyProperty.Register("MyText", typeof(string), typeof(MyComboBox));
public string MyText
{
get
{
return GetValue(MyComboBox.MyTextProperty).ToString();
}
set
{
SetValue(MyComboBox.MyTextProperty, value);
}
}
并希望从XAML以声明方式绑定到它:
<MyComboBox MyText="{Binding MyTextOnViewModel,
UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
Binding只是不起作用,任何想法为什么?
感谢。
答案 0 :(得分:2)
当属性声明为MyTextProperty时,getter和setter引用TestTextProperty。
你的getter也应该是强制转换而不是调用.ToString()
return (string)GetValue(MyTextProperty);
有关更完整的说明,请参阅此page。