如何在 Win Store App (8.1) 中扩展 Windows.UI.Xaml.Shapes.Shape



经过几个小时关于如何扩展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 类:

  1. Path类扩展您的类
    • 由于Path不是密封的,因此这是可能的(请参阅如何使用此示例绘制自定义图形 http://code.msdn.microsoft.com/windowsapps/Drawing-bfc39296/)
  2. 基于普通类创建自定义控件
    • 请参阅此示例此处如何执行此操作:http://code.msdn.microsoft.com/windowsapps/XAML-user-and-custom-a8a9505e

最新更新