我有以下 wpf 网格块。我有一个名为 truc.PNG 的图像,这是一个尺寸为 16x16 像素的小文件图像。我可以在图像块中看到它,但不能在菜单栏项目之一中看到它。我尝试了此处找到的各种解决方案(不仅如此),但图像从未出现,即使空间似乎已被占用。 我尝试过使用 stackpannel,它已在旧的 stackoverflow 帖子中进行了验证,我尝试过使用 viewblock,我也尝试过使用 c# 中的类属性,但每次都是相同的结果,空间似乎被占用但图标看不见。
<Menu Grid.Row="0">
<MenuItem Header="Icon">
<MenuItem Header="Sous icone">
<MenuItem.Icon>
<Image Source="LesImages/truc.PNG"/>
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="Export" />
<MenuItem Header="New record" />
</Menu>
<Image x:Name="ImBox" Source="LesImages/truc.png" HorizontalAlignment="Left" Height="63" Margin="82,39,0,0" VerticalAlignment="Top" Width="119" Grid.RowSpan="2"/>
尝试过 Stackpanel 解决方案:
<MenuItem>
<MenuItem.Header>
<StackPanel>
<Image Width="20" Height="20" Source="LesImages/truc.PNG" />
<ContentPresenter Content="Reports" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
编辑:我将图像添加为 .csproj 中的项目资源,而无需更改代码,它解决了问题。
<ItemGroup>
<Resource Include="LesImages\truc.PNG" />
</ItemGroup>
从您的代码来看,图像看起来应该正确显示,但可能是缩放问题。尝试设置图像的拉伸属性以确保它适合图标空间。下面的代码对我有用:
<Grid>
<Menu>
<MenuItem Header="MenuItem Hdr">
<MenuItem.Icon>
<Image Source="/Images/2023-11-27_11h20_54.png"
Stretch="Uniform"/>
</MenuItem.Icon>
</MenuItem>
</Menu>
<Image Margin="359,104,203,79"
Source="/Images/2023-11-27_11h20_54.png"
Stretch="Uniform"
RenderTransformOrigin="-0.275,0.209" />
</Grid>