[英]WPF RibbonWindow Minimize, Maximize / Restore, and Close Buttons Not Visible
所以我用谷歌搜索了一整天试图找到答案,但没有找到答案。 我已经找到了接近的东西,甚至可能找到了解决方案,只是没有意识到,但我似乎无法在我的 Windows 10 机器上显示(可见)最小化、最大化/恢复和关闭按钮。 除了我自己和另一位刚买了新笔记本电脑的开发人员之外,没有人遇到这个问题。 我试过改变我的 windows 主题,我确实让它们出现了,我打开了一些高对比度设置,但没有运气。 尽管不可见,但它们在那里并且起作用,因为我可以单击该区域并查看窗口最小、最大、恢复、关闭。
我们正在使用 .Net 4.0 和带有自定义主题 (BureauBlue.xaml) 的 RibbonWindow。 我想相信它可能与此有关,但不幸的是我对此一无所知或从哪里开始。
<r:RibbonWindow x:Class="Ztools.Main" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:props="clr-namespace:Ztools.Properties"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
IsTabStop="False" Icon="/Ztools;component/ztools32.ico" Height="830" Width="1200" WindowStartupLocation="CenterScreen" WindowState="Normal"
Loaded="RibbonWindow_Loaded" Closing="RibbonWindow_Closing"
xmlns:my="clr-namespace:System;assembly=mscorlib" Title="Ztools 2.0" Name="mainRibbon" FontSize="14" SizeChanged="mainRibbon_SizeChanged" LocationChanged="mainRibbon_LocationChanged"
StateChanged="mainRibbon_StateChanged" Deactivated="mainRibbon_Deactivated" KeyUp="mainRibbon_KeyUp" Background="{x:Null}">
<r:RibbonWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Ztools;component/themes/bureaublue.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</r:RibbonWindow.Resources>
</r:RibbonWindow>
我注意到但还没有通过拉出我的旧笔记本电脑来验证的另一件事是我很确定漂亮的按钮在设计时也出现了并且看起来不像这样。
额外的问题/问题有时是当我们的计算机进入睡眠/休眠状态时,从扩展坞转到无站(不确定是哪一个或两个),主题栏也会像这样随机变黑。 如果我能同时考虑解决这个问题,那就太好了。
我确实将其更改为普通窗口并且能够正确地看到所有按钮,但我想我宁愿不走那条路并知道问题是什么并解决它。
非常感谢任何想法或建议。
编辑:所以我认为这与主题无关? 我注释掉了与主题有关的所有内容,但它们仍然没有出现......不知道为什么很久以前我没有采取这个简单的步骤。
默认情况下,版本5中的功能区窗口已设置WindowStyle =“ none”。
也许WindowStyle只是设置为None?
尝试将其设置为“ SingleBorderWindow”,这是基类中的原始默认设置。
因此,以相同或相似问题的任何人至少可以选择发布该问题的解决方案...因为由于某种原因,尽管它包含有价值的信息作为该问题的替代解决方案,但还是被删除了。
现在,我将其从RibbonWindow更改为Window,并给Ribbon留出了0,-22,0,0的边距,以便其他所有SO帖子建议的那样,排列整齐并看起来不错。 这些按钮现在显示出来,但是不是RibbonWindow样式,而是它的样子。
<Window x:Class="Ztools.Main" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:props="clr-namespace:Ztools.Properties"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
IsTabStop="False" Icon="/Ztools;component/ztools32.ico" Height="830" Width="1200" WindowStartupLocation="CenterScreen" WindowState="Normal"
Loaded="RibbonWindow_Loaded" Closing="RibbonWindow_Closing"
xmlns:my="clr-namespace:System;assembly=mscorlib" Title="Ztools 2.0" Name="mainRibbon" FontSize="14" SizeChanged="mainRibbon_SizeChanged" LocationChanged="mainRibbon_LocationChanged" StateChanged="mainRibbon_StateChanged" Deactivated="mainRibbon_Deactivated" KeyUp="mainRibbon_KeyUp">
<r:Ribbon Title="Ztools 2.0 (Scale Configuration Editor)" IsTabStop="False" Background="#FFE5E5E5" FontSize="12" FontFamily="Arial" Margin="0,-22,0,0">
</r:Ribbon>
</Window>
我不仅遇到了同样的问题,而且能够在一个新项目中复制它并通过这个解决方案修复它,尽管对你来说它需要移动到更新的 .net 版本。
问题似乎源于使用 RibbonControlsLibrary。 它是功能区控件的过时版本。 从 .net 4.5 开始,Ribbon 是框架的本机,通过删除引用,您将能够使用包含的 RibbonWindow。
移动到 .net 版本 4.5+ 并删除此引用
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
并使用
<RibbonWindow>
代替
<r:RibbonWindow>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.