WPF RibbonWindow最小化,最大化/还原和关闭按钮不可见

时间:2019-08-27 19:59:00

标签: c# wpf xaml themes ribboncontrolslibrary

因此,我整日在Google上搜索,试图找到答案,但结果却很短。我发现东西已经关闭,甚至可能找到了解决方案,但并没有意识到,但是我似乎无法在Windows 10机器上显示“最小化”,“最大化/还原”和“关闭”按钮(可见)。除了我自己和另一位刚获得新笔记本电脑的开发人员之外,没有人遇到此问题。我尝试过改变Windows主题,但我确实打开了一些高对比度设置,但是没有运气,它们确实可以显示出来。尽管它们不可见,但它们在那里并可以正常工作,因为我可以单击该区域并看到最小,最大,还原,关闭窗口。

我们正在使用.Net 4.0和带有自定义主题(BureauBlue.xaml)的RibbonWindow。我想相信这可能与它有关,但是我对此一无所知,或者不幸的是从哪里开始。

enter image description here

<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>

我注意到的另一件事,但尚未通过拔出旧笔记本电脑进行验证,是我确定在设计时也显示了漂亮的按钮,并且看起来不是这样。 enter image description here

奖金问题/问题有时是当我们的计算机进入睡眠/休眠状态时,从扩展坞转到无站(不确定其中一个还是两个),主题栏也会像这样随机熄灭。如果我可以同时解决这个问题,那将是很好的。

enter image description here 我确实将其更改为普通的Window,并且能够正确看到所有按钮,但我想我不想走那条路线,不知道问题出在哪里,并解决它。

任何想法或建议都会受到赞赏。

编辑:所以我认为这与主题无关吗?我注释掉了与主题有关的所有内容,但它们仍然没有显示出来。。。不确定为什么很久以前我没有采取这一简单步骤。

3 个答案:

答案 0 :(得分:0)

The ribbonwindow in version 5 has set WindowStyle="none" by default.
也许WindowStyle仅设置为“无”?
尝试将其设置为“ SingleBorderWindow”,这是基类中的原始默认设置。

答案 1 :(得分:0)

因此,以相同或相似问题的任何人至少可以选择发布此问题,因为由于某些原因,尽管它包含有价值的信息作为问题的替代解决方案,但由于某种原因,它已被删除。

现在,我将其从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>

答案 2 :(得分:0)

我不仅遇到了同样的问题,而且能够将其复制到新项目中,并通过此解决方案对其进行修复,尽管对您而言,这需要转移到更新的.net版本。

问题似乎源于使用RibbonControlsLibrary。这是功能区控件的过时版本。从.net 4.5开始,Ribbon是框架固有的,通过删除引用,您将可以使用随附的RibbonWindow。

移至.net 4.5+版本并删除此引用

xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 

并使用

<RibbonWindow> 

代替

<r:RibbonWindow>