1

我有一个以编程方式设置其命令绑定和内容的用户控件。

我还将这个控件序列化为 XAML。我不希望内容或绑定被序列化,因为我设置了这些。内容通过覆盖来处理:

public virtual bool ShouldSerializeContent()

我很高兴看到命令绑定的等价物:

public bool ShouldSerializeCommandBindings()

但是,这个函数不是虚拟的,通过在我的实现中指定 new 来隐藏它似乎什么都不做?根据此 MS 页面,这似乎是推荐的使用方法:http: //msdn.microsoft.com/en-us/library/53b8022e (v=vs.85).aspx

我还尝试隐藏 CommandBindings 属性并使用 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)],但这只会破坏我的绑定。

谁能告诉我正确的方法?这是一个错误吗?

4

1 回答 1

1

啊哈,没关系,我已经整理好了。诀窍确实是隐藏属性,但我没有提供任何实现。以下工作可关闭序列化:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public CommandBindingCollection CommandBindings 
{
    get
    {
        return base.CommandBindings;
    }
}
于 2011-09-21T08:49:09.143 回答