0

如何扩展现有控件(在我的情况下为 ComboBox)以包含可以绑定到视图模型上的属性的新属性?

我在控件的类上有一个依赖属性,如下所示:

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}"/>  

绑定不起作用,任何想法为什么?

谢谢。

4

1 回答 1

2

当属性声明为 MyTextProperty 时,您的 getter 和 setter 引用 TestTextProperty。

你的吸气剂也应该是铸造而不是调用 .ToString()

return (string)GetValue(MyTextProperty);

有关更完整的说明,请参阅此页面

于 2009-07-22T04:06:11.417 回答