Почему мое RibbonWindow имеет неправильную тему?
-
23-09-2019 - |
Вопрос
Работая с библиотекой RibbonControls, когда я запускаю свое приложение, строка заголовка выглядит как приложение W98.Как мне сделать так, чтобы это выглядело красиво?
Редактировать: Кажется, это как-то связано с темой, используемой в Windows.
любая помощь будет оценена по достоинству.
альтернативный текст http://img718.imageshack.us/img718/8188/321321.jpg
<r:RibbonWindow x:Class="Produccion_Dampers.main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
Title="Window1"
Height="600"
Width="800">
<DockPanel>
<r:Ribbon DockPanel.Dock="Top" Title="my App looks like s***t">
</r:Ribbon>
</DockPanel>
</r:RibbonWindow>
Решение
(из моего предыдущего комментария)
Вы можете нарисовать собственную оконную рамку, как описано в этой статье MSDN: http://msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx, который включает информацию о рисовании заголовка окна шрифтом системной темы (что может дать подсказки о доступе к другой информации о теме).
Другие советы
Если вы используете на своем компьютере пользовательскую тему, в Windows WPF по умолчанию используется тема «Классическая».
Насколько я понимаю, ваши возможности тогда ограничены, поскольку строка заголовка не является клиентской для вашего приложения — она отображается операционной системой (почему тогда она не может использовать пользовательскую тему, я не знаю).
- вы можете использовать p/invoke, чтобы сделать что-нибудь неприятное
- вы можете создать окно без полей и самостоятельно подделать строку заголовка
- вы можете увидеть, принесет ли вам (довольно старая) информация что-нибудь хорошее: http://www.browsoft.com/tutorials/DefaultTheme.html
(Если последний вариант работает, это означает, что мое понимание отображения строки заголовка неверно.)