如何使用其他属性,方法或函数扩展现有类?这样我就可以在XAML代码中使用它们了? 我想扩展AlavonDock库并为现有类添加更多功能。
这就是我的意思: AvalonDock.dll应该在LayoutItem类中包含另一个Property:SubTitle。 我不想编辑现有的类(在AvalonDock库中)。但是我想创建自己的dll,它扩展了AvalonDock.dll的功能。
答案 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));
}