WPF 右键菜单 MenuItem 绑定图片时只显示最后一个 Icon

在做一个项目时需要给右键菜单动态绑定项时,其它内容都是正常的,绑定图片就有最后一个图标有图片。

XML 复制代码
        <MenuItem.ItemContainerStyle>
         <Style TargetType="MenuItem">
          <Setter Property="Icon">
           <Setter.Value>
            <Image Height="16" Width="16" Stretch="Uniform" 
                   Source="{Binding ImageName,Converter={StaticResource StringToResImageSource}}"/>
           </Setter.Value>
          </Setter>
          <Setter Property="Header" Value="{Binding Name}"/>
          <Setter Property="Command" Value="{Binding ReplaceCommand}" />
          <Setter Property="CommandParameter" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}, Path=PlacementTarget.SelectedItems}" />
         </Style>
        </MenuItem.ItemContainerStyle>

这时想着用改成使用资源来显示,发现也是只显示最后一张图片。后来在网上看到说把图像改成资源然后把 x:Shared="false" 设置成假就能成功。经过修改终于能显示出来了。

XML 复制代码
 <Image x:Key="img_mitem" x:Shared="false"
        Width="16px" Height="16px"
        Stretch="Uniform" Source="{Binding ImageName,Converter={StaticResource StringToResImageSource}}" />
XML 复制代码
 <Setter Property="Icon" Value="{StaticResource img_mitem}"/>

修改后的效果:

相关推荐
Scout-leaf3 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
柒.梧.5 天前
基于SpringBoot+JWT 实现Token登录认证与登录人信息查询
wpf
十月南城8 天前
Flink实时计算心智模型——流、窗口、水位线、状态与Checkpoint的协作
大数据·flink·wpf
听麟10 天前
HarmonyOS 6.0+ 跨端会议助手APP开发实战:多设备接续与智能纪要全流程落地
分布式·深度学习·华为·区块链·wpf·harmonyos
@hdd11 天前
Kubernetes 可观测性:Prometheus 监控、日志采集与告警
云原生·kubernetes·wpf·prometheus
zls36536511 天前
C# WPF canvas中绘制缺陷分布map
开发语言·c#·wpf
专注VB编程开发20年11 天前
c#Redis扣款锁的设计,多用户,多台电脑操作
wpf
闲人编程12 天前
定时任务与周期性调度
分布式·python·wpf·调度·cron·定时人物·周期性
zls36536512 天前
C# WPF canvas中绘制缺陷分布map并实现缩放
开发语言·c#·wpf
数据知道13 天前
PostgreSQL:Citus 分布式拓展,水平分片,支持海量数据与高并发
分布式·postgresql·wpf