代码之家  ›  专栏  ›  技术社区  ›  Fermin

在Silverlight 4应用程序中显示新图像资源时出现问题

  •  3
  • Fermin  · 技术社区  · 15 年前

    我有一个Silverlight应用程序,我正在工作。我有几种不同的自定义按钮样式,它们使用ContentTemplate将图像显示为按钮,例如:

    <Style x:Key="CancelButtonStyle" TargetType="Button">
        <Setter Property="Cursor" Value="Hand"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid>
                        <Image Source="Assets/Images/Controls/cancel.png"/>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    

    cancel.png是最近添加的图像,不显示。如果我将一个简单的图像添加到一个页面,并且将源设置为这个图像,那么我会在XMAL design viewer中得到带有警告的下划线

    文件 “Assets/Images/Controls/cancel.png”是 “操作”属性未设置为

    我仔细检查了一下,它的构建操作设置为“资源”。我已经卸载了项目并查看了csproj文件,并且有一个用于此映像的生成条目,我错过了什么?我没有做任何不同的图像,我与其他图像在同一个文件夹中的工作。

    <Image Source="Foo.Bar;component/Assets/Images/Controls/cancel.png" Stretch="None"/>
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Fermin    15 年前

    Source="/Foo.Bar;component/Assets/Images/Controls/cancel.png" 
    

    尽管我仍然不确定问题的根源。

        2
  •  0
  •   Mark    15 年前

    我以前也遇到过类似的问题,我最终忽略了您突出显示的编译器警告,它只是在运行时起作用。我经常遇到的问题是,在编译时,从生成警告的XAML文件的目录中读取图像的路径,这是错误的,但在运行时,从使用样式的控件中读取路径,这通常是正常的。

    推荐文章