展开现有类,具有其他功能

时间:2013-10-03 09:54:06

标签: c# wpf xaml avalondock

如何使用其他属性,方法或函数扩展现有类?这样我就可以在XAML代码中使用它们了? 我想扩展AlavonDock库并为现有类添加更多功能。

这就是我的意思: AvalonDock.dll应该在LayoutItem类中包含另一个Property:SubTitle。 我不想编辑现有的类(在AvalonDock库中)。但是我想创建自己的dll,它扩展了AvalonDock.dll的功能。

2 个答案:

答案 0 :(得分:0)

只需像扩展其他类一样扩展相关类:

using AvalonDock; // or whatever the dll is called

public class ExtendedClass : OriginalClassToExtend
{
    private string subTitle = string.Empty;

    public ExtendedClass() : base()
    {
        // Add new functionality to constructor
    }

    public string SubTitle { get; set; }
}

请查看MSDN上的Inheritance (C# Programming Guide)页面以获取更多帮助。

答案 1 :(得分:0)

实现您自己的类,该类派生自AvalonDock类并添加您想要的任何功能

public class MyLayoutItem : LayoutItem
{
    public string SubTitle 
    {
         get { return (string)this.GetValue(SubTitleProperty); }
         set { this.SetValue(SubTitleProperty, value); } 
    }

    public static readonly DependencyProperty SubTitleProperty = DependencyProperty.Register("SubTitle", typeof(string), typeof(MyLayoutItem),new PropertyMetadata(string.Empty));
}