在DependencyObject子类中,您可以覆盖DependencyProperty吗?

时间:2013-09-13 02:01:26

标签: wpf subclass dependency-properties dependencyobject

为了便于说明,我想创建一个名为BizarroTextBox的WPF TextBox的子类,其中IsReadOnly属性具有其默认行为的相反效果。

现在通常在非WPF世界中,对于假设的“TextBox”控件,它会相对微不足道......

public class BizarroTextBox : TextBox
{
    public override bool IsReadOnly
    {
        get{ return !base.IsReadOnly; }
        set{ base.IsReadOnly = !value; }
    }
}

...但我不确定如何处理DependencyObjects和DependencyProperties时甚至可以做类似的事情。

虽然我可以在我的子类中重新定义属性的元数据并使用Coalesce函数来反转输入的值,但我不知道在返回的路上反转它的方法。

你也不能简单地使用bool-inverting转换器,因为只有一个对象既不是源也不是目标,除非你连接两个不同的属性,我们不是。

您无法在CLR getter / setter中执行此操作,因为它们是使用绑定时绕过的便捷方法。

如果他们有一个合并退路方法会更容易,但我不知道任何这样的事情。那可以这样做吗?

0 个答案:

没有答案