使用UserControl.Resources

时间:2012-01-25 03:27:40

标签: wpf xaml user-controls

使用UserControl.Resources时遇到了一些问题。我一直遇到错误消息“文件'Resources \ Resource.xaml'不是项目的一部分,或者它的'Build Action'属性没有设置为'Resource'。

我在论坛中搜索,但看起来我已经完成了样本中所说的内容。不知何故,错误仍然存​​在,资源中嵌入的样式无法应用到我的控件中。以下是我的代码:

<UserControl x:Class="Client.NavigationControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:Client"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             HorizontalAlignment="Left"
             VerticalAlignment="Top"
             d:DesignHeight="59"
             d:DesignWidth="349"
             mc:Ignorable="d">

<UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources\Resource.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
 </UserControl.Resources>

<Grid Name="grid1"
          Width="341"
          Height="54"
          HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch">


 <Button Name="button2"
                Width="97"
                Height="35"
                Margin="106,10,0,0"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Command="{Binding ButtonResponseSection}"
                CommandParameter="ResponseSection"
                Content="ResponseSection"
                Style="{DynamicResource GlassButton}" />


    </Grid>
</UserControl>

请帮助: - (..

1 个答案:

答案 0 :(得分:2)

确保Resource.xaml的构建操作设置为Page。

此外,请参阅您的相对URI“Resources \ Resource.xaml”是否正确。

作为URI语法的示例,假设您的UserControl NavigationControl位于名为Client的名称空间中,名称空间Client包含在名为App的名称空间中。如果App包含命名空间资源,并且您的Resource.xaml将驻留在此命名空间中,那么正确的URI将是../ Resources / Resource.xaml。