首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF - MenuItem缺少图标/图像

WPF - MenuItem缺少图标/图像
EN

Stack Overflow用户
提问于 2010-12-09 21:56:46
回答 5查看 7.1K关注 0票数 6

我得到了只出现在最后一个menuItem上的menuItem图标。如果我窥探应用程序,只有最后的menuItem有图像在图标中,而如果我调试所有的MenuItems似乎有图像在图标中。另外,如果我添加了submenuItem,一旦我打开子菜单,menuItem上的图标就消失了,最后一个子菜单得到了图标……有什么想法吗?另外,菜单项上的工具提示也不起作用。我正在使用caliburn微型和流畅的功能区控件。

代码语言:javascript
复制
                   <Setter Property="Header" 
                            Value="{Binding DisplayName}"/>
                    <Setter Property="Icon">
                        <Setter.Value>
                            <Image Source="{Binding Path=IconPath}"/>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="ItemsSource" 
                            Value="{Binding Items}"/>
                    <Setter Property="cm:Message.Attach" 
                            Value="ClickAction()"/>
                    <Setter Property="ef:KeyTip.Keys" 
                            Value="{Binding KeyTip}"/>
                    <Setter Property="ToolTip">
                        <Setter.Value>
                            <ef:ScreenTip Title="{Binding DisplayName}"
                                          HelpTopic="ScreenTip help ..."
                                          Image="{Binding LargeIconPath}"
                                          Text="Text for ScreenTip"/>
                        </Setter.Value>
                    </Setter>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-14 19:30:18

您正在设置Icon属性设置为Image控制输入Style..。现在,只有一份Style被创建,因此,只有一份Image已创建。现在,任何控件一次只能有一个父级。因此,当它被赋值为last时MenuItem,它将从以前的MenuItem控件。要修复此问题,请使用Templates...。而不是设置Header属性,设置HeaderTemplate:

我不确定您正在使用的控件工具包公开了哪些属性。但是,我确信它们必须有一个模板属性。

完成此操作后,您不需要设置Icon属性的样式。

票数 9
EN

Stack Overflow用户

发布于 2013-08-30 04:15:55

我成功地在ResourceDictionary中使用了以下条目:

代码语言:javascript
复制
    <Setter Property="Header" Value="{Binding DisplayName />
    <Setter Property="Icon" Value="{StaticResource MenuIconImage}" />
票数 3
EN

Stack Overflow用户

发布于 2010-12-14 20:47:43

其工作原理如下:

代码语言:javascript
复制
                    <Setter Property="HeaderTemplate" Value="{StaticResource MenuItemHeaderTemplate}" />                                 
                    <Setter Property="ItemsSource" 
                            Value="{Binding Items}"/>
                    <Setter Property="cm:Message.Attach" 
                            Value="ClickAction()"/>
                    <Setter Property="ef:KeyTip.Keys" 
                            Value="{Binding KeyTip}"/>
                    <Setter Property="ToolTip">
                        <Setter.Value>
                            <ef:ScreenTip Title="{Binding DisplayName}"
                                          HelpTopic="ScreenTip help ..."
                                          Image="{Binding LargeIconPath}"
                                          Text="Text for ScreenTip"/>
                        </Setter.Value>
                    </Setter>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4398954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档