2013-04-09 28 views
0

這對WPF應該是一個初學者的問題,但我找不到一個簡單的答案。你如何獲得WPF中聲明的對象的句柄?通過鍵獲取資源中的對象

<Window x:Class="Testprj" xmlns:local="clr-namespace:Testprj"> 
    <Window.Resources> 
     <local:CustomValidation x:Key="validationObj"/> 
    </Window.Resources> 
</Window> 

如果我沒有弄錯,上面的代碼是用「validationObj」鍵創建一個「CustomValidation」對象的實例。現在,假設每個「CustomValidation」對象都有一個名爲「myInstanceVar」的實例變量,如何從後面的代碼中獲取myInstanceVar的值?

我試圖做的是一樣的東西(僞):

validationObj.myInstanceVar 

但它無法找到甚至「validationObj」。有任何想法嗎?

+0

您是否問過如何在WPF中實例化(創建)的C#代碼中引用對象? – tatmanblue 2013-04-09 14:35:48

+0

@tatmanblue是的。 – David 2013-04-09 14:40:10

回答

2

我相信你問你如何使用該對象從後面的代碼。我相信this.FindResource("validationObj")會訣竅。

var valObj = (CustomValidation)this.FindResource("validationObj"); 
var whatever = valObj.myInstanceVar; 
+0

請注意,您必須將結果轉換爲CustomValidation才能訪問myInstanceVar。 – cunningdave 2013-04-09 15:21:09

+0

我在我的示例中添加了類型轉換。 – Steve 2013-04-09 16:06:53