经过几个小时关于如何扩展Windows.UI.Xaml.Shapes.Shape
类的研究,我需要问你们是否有人可以帮助我。
基本上我需要一个普通的矩形(因为它是密封的,我无法扩展Windows.UI.Xaml.Shapes.Rectangle
类)并向其中添加一些成员。所以我需要一个类来绘制一个带有附加成员的普通矩形。
你试过扩展方法吗?
public static class MyExtensions
{
public static Size GetSize(this Windows.UI.Xaml.Shapes.Rectangle rectangle)
{
return rectangle.RenderSize;
}
}
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
Rectangle rectangle = new Rectangle();
Debug.WriteLine(rectangle.GetSize());
}
}
Windows 运行时 C# 投影有很多扩展,例如 AsInputStream。
有关将扩展与 Windows 运行时 API 配合使用的一个很好的例子,请参阅 MSDN 杂志中的这篇文章。
这个问题的实际答案是真正通过Shape
类(Windows.UI.Xaml.Shapes.Shape
)扩展一个类。
还是为我的问题找到了两种解决方案,其中不需要使用 Shape
类:
- 按
Path
类扩展您的类- 由于
Path
不是密封的,因此这是可能的(请参阅如何使用此示例绘制自定义图形 http://code.msdn.microsoft.com/windowsapps/Drawing-bfc39296/)
- 由于
- 基于普通类创建自定义控件
- 请参阅此示例此处如何执行此操作:http://code.msdn.microsoft.com/windowsapps/XAML-user-and-custom-a8a9505e