Почему мое RibbonWindow имеет неправильную тему?

StackOverflow https://stackoverflow.com/questions/2156739

  •  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

(Если последний вариант работает, это означает, что мое понимание отображения строки заголовка неверно.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top