WP7 - 尝试在不工作的代码中选择和使用应用程序静态资源(找不到资源)

时间:2011-01-10 16:50:29

标签: windows-phone-7

使用Windows Phone 7,我试图在代码隐藏中动态添加控件和对象,并将StaticResource应用于新控件。

Xaml文件样本:

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

Codebehind示例:

>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”时,集合中没有项目,因此该项目将添加到控件列表中,但不会显示,因为它没有内容。

有什么简单的我做错了吗?如何正确访问资源?

2 个答案:

答案 0 :(得分:5)

如果资源是在页面中定义的,则需要页面中的资源以及在应用程序级别定义的任何资源。
您只需引用页面中的Resources对象即可完成此操作:

this.Resources["PushpinControlTemplateBlue"];

答案 1 :(得分:1)

Application.Current.Resources在App.xaml中定义,不在页面上。将模板放在

<Application.Resources>

Example