应用程序级资源XAML
问题描述:
如何在XAML中创建应用程序级资源?我正在开发一个Windows Phone 8应用程序。应用程序级资源XAML
下面我有一个长方形,我想创建一个可以用来改变矩形的颜色的资源挖掘时:
<Rectangle Fill="#FFF4F4F5"
HorizontalAlignment="Left"
Height="100"
Stroke="Black"
VerticalAlignment="Top"
Width="100"
x:Name="pad1"
Tap="pad1_tap"
/>
我看过一些类似的职位,说使用方法:
<Application.Resources>
<!-- Resources Here !-->
</Application.Resources>
...但在我的应用程序中没有名称为'Application'的对象。当试图使用'Application.Resources'时,我收到一个错误消息:成员资源不被识别或无法访问。
答
的应用对象是在你的app.xaml
文件。但是,只有当您希望您的资源被整个应用程序共享时才有用。如果您只需要在一个页面中使用它,则可以声明PhoneApplicationPage
元素中的资源:
<phone:PhoneApplicationPage.Resources>
<!-- your resource -->
</phone:PhoneApplicationPage.Resources>
答
你需要导入mscorlib
库,然后使用StaticResource
关键字是指你的资源,像这样:
<Application
x:Class="AppClass"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<Application.Resources>
<sys:Int32 x:Key="Test">80</sys:Int32>
</Application.Resources>
</Application>
用法:
<Rectangle Fill="#FFF4F4F5"
HorizontalAlignment="Left"
Height="100"
Stroke="Black"
VerticalAlignment="Top"
Width="{StaticResource Test}"
x:Name="pad1"
Tap="pad1_tap"
/>
这就是我正在寻找的!谢谢。 – 2013-03-10 23:17:25