[英]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.