2014-01-07 45 views
1
使用

我正在學習有關的透明度,並發現了一些有趣的答案爲自己在添加類的XAML

WPF: Detect Image click only on non-transparent portion

不過我不會在那裏回答說,所有部分了解

after adding this class, just use it like a regular image: 

utils:OpaqueClickableImage Name="image" Source="http://entropymine.com/jason/testbed/pngtrans/rgb8_t_bk.png" Stretch="None" 

首先我寫了這個類,我現在怎麼在XAML中添加它,以便它可以被使用/可見?如果我可以的話,因爲我是一個初學者,所以一步一步地解釋它的一些複雜的問題。感謝您提供任何形式的幫助/建議!

回答

4

OpaqueClickableImage是他們創建的一個從Image繼承而來的類。

您發佈的XAML代碼片段的「utils」部分引用了自定義名稱空間。您需要添加名稱空間以便可見。所以,如果你OpaqueClickableImage類的命名空間是Program.Extensions您需要添加:

xmlns:utils="clr-namespace:Program.Extensions" 

你的「窗口」的標記。

然後你OpaqueClickableImage將是可用的,就像這樣任何其他圖像:

<utils:OpaqueClickableImage Source="image.jpg" width="100" height="100" /> 

希望這是有道理...

+0

你讓我很快樂!這些信息正是我在想我把它放在一起的感謝,在我將它標記爲答案之前,有一個問題 - 在我的Assembly中是否存在我的class.cs的位置(比方說將它放到不同的子文件夾中)對XAML有任何問題或者它只需要我的尊敬的我的類的命名空間? –

+0

我不是100%確定的,因爲通常的做法是將您的課程放在與您的名稱空間相對應的文件夾中。我會說,雖然只有名稱空間很重要,但文件的物理位置不應該對編譯器產生任何影響。編輯:做了一個快速的谷歌搜索(就像你應該做的那樣),似乎只有命名空間很重要。 – TylerD87