2011-01-10 4 views
1

Windows Phone 7では、コードビハインドにコントロールを動的に追加し、オブジェクトを新しいコントロールに適用しようとしています。WP7 - コードビハインドでアプリケーションの静的リソースを選択して使用しようとしていません(リソースが見つかりません)

XAMLファイルのサンプル:

<phone:PhoneApplicationPage.Resources> 
    <ControlTemplate x:Key="PushpinControlTemplateBlue" TargetType="my2:Pushpin"> 
    ... 
    </ControlTemplate> 
</phone:PhoneApplicationPage.Resources> 

分離コードサンプル:

>Pushpin myPush = new Pushpin(); 
>myPush.Location = new GeoCoordinate(52.569593, -0.9261151403188705); 
>myPush.Content = ""; 
>myPush.Template = (ControlTemplate)Application.Current.Resources["PushpinControlTemplateBlue"]; 
>mapMain.Children.Add(myPush); 

私がデバッグ、および "Application.Current.Resources" を見て、コレクション内のアイテムがないので、アイテムはコントロールリストに追加されますが、コンテンツがないため表示されません。

私は間違っていますか?リソースに正しくアクセスするにはどうすればよいですか?

+0

あなたの例ではありません**アプリの**資源で、**ページの**リソースにリソースを入れています。マットのように、最初の答えでは、ちょうど 'this.Resources'はこのページで定義されているものです。このページや親コントロール(App.xaml内のAppのリソースを含む)、iircでFindResourceを使用して検索することができます。 –

+0

2つの素晴らしい答え、ありがとう!どちらもupvoted! – pearcewg

答えて

5

にテンプレートを置きます。
は、あなたは、単にページ内Resourcesオブジェクトへの参照のうえでこれを行うことができます。

this.Resources["PushpinControlTemplateBlue"]; 
1

Application.Current.Resourcesは、App.xamlではページではなく定義されています。リソースがページ内のリソースを必要とするページ内で定義されており、いずれかがapplicaitonレベルで定義されている場合

<Application.Resources> 

Example

関連する問題