幾個小時的關於如何擴展Windows.UI.Xaml.Shapes.Shape
一流的研究後,我要問你們,如果有人能幫助我。如何在Win Store應用程序(8.1)中擴展Windows.UI.Xaml.Shapes.Shape?
基本上我需要一個普通的矩形(由於其密封,我不能擴展Windows.UI.Xaml.Shapes.Rectangle
類)和一些成員添加到它。所以我需要一個用額外成員繪製普通矩形的類。
幾個小時的關於如何擴展Windows.UI.Xaml.Shapes.Shape
一流的研究後,我要問你們,如果有人能幫助我。如何在Win Store應用程序(8.1)中擴展Windows.UI.Xaml.Shapes.Shape?
基本上我需要一個普通的矩形(由於其密封,我不能擴展Windows.UI.Xaml.Shapes.Rectangle
類)和一些成員添加到它。所以我需要一個用額外成員繪製普通矩形的類。
問題的實際答案是真正延長課程Shape
班(Windows.UI.Xaml.Shapes.Shape
)。
不過我發現我的問題,有兩種解決方案,在那裏它不是必要使用Shape
類:
Path
類擴展類
Path
心不是密封的,這是可能的(見如何用此示例繪製自定義圖形http://code.msdn.microsoft.com/windowsapps/Drawing-bfc39296/)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的一個很好的例子看this article in the MSDN Magazine。
如果你能告訴我如何擴展與擴展方法普通'Rectangle'類,以便其他成員(例如,用於存儲對應數據) - 否則你沒有閱讀的問題完全一樣。 – aemaem
您沒有指定要查找的成員類型。有兩種類型的類成員:[成員變量和成員函數(https://en.wikipedia.org/wiki/Class_(對象oriented_programming))。 – kiewic
-_-但是,也許你應該看一下'Tag'屬性。例如:'rectangle.Tag =「您可以在這裏指定任何類型」'。所以,如果你需要關聯多個類型,你可以創建一個類來存放你需要的所有數據,並把它分配給'Tag'。 – kiewic
如果不能延長,爲什麼不「把它包」? –
我認爲這種方法,但我需要在例如一個簡單的包裝實際上不可能的畫布。如果你有一個想法如何用包裝紙做到這一點,我期待着它。 – aemaem
總體目標是什麼?你想要達到一定的效果嗎?有可能是另一種方式。 –