请教一个Windows Phone开发Generic.xaml的静态资源的问题

LPVisetel 发布于 2012/05/30 10:55
阅读 645
收藏 0

我做了一个Windows Phone Class Library项目,打算把解决方案使用的自定义控件统一放在一个项目中管理。因为有多个自定义控件,所有把样式写在Themes\Generic.xaml中

步骤:新建一个Windows Phone Class Library - MyControls,然后新建目录Themes,新建Generic.cs,改名Generic.xaml,内容

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
 xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
 xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
 xmlns:primitives="clr-namespace:Microsoft.Phone.Controls.Primitives;assembly=Microsoft.Phone.Controls"
 xmlns:local="clr-namespace:MyControls">
 <Style x:Key="PhoneButtonBase" TargetType="ButtonBase">
 <Setter Property="Background" Value="Red"/>
 </Style>

</ResourceDictionary>

Generic.xaml中是一个带key的样式,测试页面写:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
 <StackPanel>
 <Button Style="{StaticResource PhoneButtonBase}">a</Button>
 <Button Style="{StaticResource PhoneButtonBase}">b</Button>
 </StackPanel>
 </Grid>

结果完全没有用,无论把Generic.xaml的Build Action设置为Content/Resource/Page/EmbeddedResource ...,而且有提示说 The resource "PhoneButtonBase" could not be resolved。如果把style放到测试页面的
<phone:PhoneApplicationPage.Resources>
 <Style x:Key="PhoneButtonBase" TargetType="ButtonBase">
 <Setter Property="Background" Value="Red"/>
 </Style>
</phone:PhoneApplicationPage.Resources>

这可以正常看到按钮的背景是红色。

请问怎么解决Generic.xaml的样式问题,谢谢。

加载中
0
铂金大雕
铂金大雕
在你的测试project(非类库项目)里引用类库项目
0
L
LPVisetel
这个已经搞定了,谢谢。
返回顶部
顶部