Por que meu RibbonWindow não é o tema corretamente?
-
23-09-2019 - |
Pergunta
Trabalhando com a RibbonControlSlibrary, quando executo meu aplicativo, a barra de título parece o aplicativo W98. Como posso fazer com que pareça bonito?
Editar: Parece que tem algo a ver com o tema usado no Windows.
Qualquer ajuda seria apreciada.
TEXTO DE ALT 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>
Solução
(do meu comentário anterior)
Você pode desenhar um quadro de janela personalizado, conforme descrito neste artigo do MSDN: http://msdn.microsoft.com/en-us/library/bb688195(vs.85).aspx, que inclui informações sobre como desenhar a legenda da janela com a fonte do tema do sistema (que pode fornecer pistas sobre o acesso a outras informações do tema).
Outras dicas
Se você estiver executando um tema personalizado em sua máquina, o WPF Windows padrão para o tema "clássico".
Pelo que entendi, suas opções são limitadas porque a barra de título não é do seu aplicativo-ela é renderizada pelo sistema operacional (por que não pode adotar o tema personalizado, eu não sei).
- Você pode usar P/Invoke para fazer algumas coisas desagradáveis
- Você pode criar uma janela sem fronteiras e fingir a barra de título
- Você pode ver se as informações (bastante antigas) aqui fazem algo de bom para você: http://www.browsoft.com/tutorials/defaulttheme.html
(Se o último funcionar, significa que meu entendimento sobre a renderização da barra de título está incorreto.)