UserControl中的UserControl:找不到资源

时间:2016-04-27 14:29:40

标签: wpf xaml

我有一个MVVM应用程序,我想在另一个视图中重用View,两个视图都是用户控件。

在第一个usercontrol的xaml中,我有这个:

<Button Command="{Binding ChangeInitCommand}">
    <Image>
        <Image.Style>
            <Style TargetType="{x:Type Image}">
                <Setter Property="Source" Value="pack://application:,,,/images/Init-32.png" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsInit}" Value="True">
                        <Setter Property="Source" Value="pack://application:,,,/images/Deinit-32.png" />
                    </DataTrigger>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Opacity" Value="0.5" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>
</Button>

最初我有<Image Source="/Images/Init-32.png">,但这也产生了同样的问题。

当我在第二个用户控件中使用此usercontrol时,设计器显示错误:无法创建“第一个用户控件”的实例。我可以查看异常详细信息,它归结为:InnerExeption:找不到资源'images / init-32.png'

当没有将第一个usercontrol放在第二个usercontrol中时,一切正常。图像的构建操作是“资源”。

如何摆脱这个错误?

1 个答案:

答案 0 :(得分:1)

更改包URI以包含程序集。有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/aa970069(v=vs.100).aspx

<Setter Property="Source" Value="pack://application:,,,/WpfApplication49;component/images/Init-32.png" />

将WpfApplication49替换为程序集名称。