0

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

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

4

2 回答 2

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));
}
于 2013-10-03T10:04:46.027 回答
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)页面以获取更多帮助。

于 2013-10-03T10:02:36.537 回答