2013-12-19 49 views
0

幾個小時的關於如何擴展Windows.UI.Xaml.Shapes.Shape一流的研究後,我要問你們,如果有人能幫助我。如何在Win Store應用程序(8.1)中擴展Windows.UI.Xaml.Shapes.Shape?

基本上我需要一個普通的矩形(由於其密封,我不能擴展Windows.UI.Xaml.Shapes.Rectangle類)和一些成員添加到它。所以我需要一個用額外成員繪製普通矩形的類。

+1

如果不能延長,爲什麼不「把它包」? –

+0

我認爲這種方法,但我需要在例如一個簡單的包裝實際上不可能的畫布。如果你有一個想法如何用包裝紙做到這一點,我期待着它。 – aemaem

+0

總體目標是什麼?你想要達到一定的效果嗎?有可能是另一種方式。 –

回答

0

問題的實際答案是真正延長課程Shape班(Windows.UI.Xaml.Shapes.Shape)。

不過我發現我的問題,有兩種解決方案,在那裏它不是必要使用Shape類:

  1. Path類擴展類
  2. 創建基於普通類的自定義控件
0

你試過Extension Methods

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

+0

如果你能告訴我如何擴展與擴展方法普通'Rectangle'類,以便其他成員(例如,用於存儲對應數據) - 否則你沒有閱讀的問題完全一樣。 – aemaem

+0

您沒有指定要查找的成員類型。有兩種類型的類成員:[成員變量和成員函數(https://en.wikipedia.org/wiki/Class_(對象oriented_programming))。 – kiewic

+0

-_-但是,也許你應該看一下'Tag'屬性。例如:'rectangle.Tag =「您可以在這裏指定任何類型」'。所以,如果你需要關聯多個類型,你可以創建一個類來存放你需要的所有數據,並把它分配給'Tag'。 – kiewic

相關問題