我有3张.png图片,我想将它们添加到网格中(简单地说) 正确显示了我的2张照片,但没有显示画面,我也不知道为什么:
这是我对所有3张图片的app.xaml行:
<BitmapImage x:Key="EditIcon" UriSource="Ressources\EdtIcon.png"/>
<BitmapImage x:Key="DeleteIcon" UriSource="Ressources\DltIcon.png"/>
<BitmapImage x:Key="InterroIcon" UriSource="Ressources\InterroIcon.png"/>
这是我将其中3个放入网格的方式:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Width="20" Height="20" VerticalAlignment="top" Margin="0,0,0,0" HorizontalAlignment="Center" MouseLeftButtonUp="ButtonComparerCorrection_Click">
<Ellipse.Fill>
<ImageBrush ImageSource="{Binding InterroIcon}"/>
</Ellipse.Fill>
</Ellipse>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Width="20" Height="20" VerticalAlignment="Top" Margin="0,0,0,0" HorizontalAlignment="Stretch" MouseLeftButtonUp="ButtonDeleteRow_Click">
<Ellipse.Fill>
<ImageBrush ImageSource="{Binding DeleteIcon}"/>
</Ellipse.Fill>
</Ellipse>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Ellipse Width="20" Height="20" VerticalAlignment="top" Margin="1,0,0,1" HorizontalAlignment="Stretch" MouseLeftButtonUp="ButtonEditRow_Click">
<Ellipse.Fill>
<ImageBrush ImageSource="{Binding EditIcon}"/>
</Ellipse.Fill>
</Ellipse>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
唯一没有出现的图像是第一个:InterroIcon 我检查了png文件的名称,它也是InterroIcon
在上网检查后,我确认并且生成操作为“资源”,并且副本设置为“如果较新”,通常可以解决问题,但对于我而言不是这样
此问题可能是什么原因?
感谢您抽出宝贵的时间
答案 0 :(得分:0)
{Binding InterroIcon}
类型兼容的InterroIcon
属性,则 ImageSource
将起作用。
由于已声明图像资源,因此使用它们更为有意义(无绑定错误,并且图像资源不属于MVVM体系结构中的DataContext):
<ImageBrush ImageSource="{StaticResource InterroIcon}"/>
<ImageBrush ImageSource="{StaticResource DeleteIcon}"/>
<ImageBrush ImageSource="{StaticResource EditIcon}"/>