WPF 응용 프로그램에 대한 Office 2007 테마를 적용하십시오
-
19-09-2019 - |
문제
WPF 툴킷의 RibbonControl을 사용하고 있습니다. 사무실 블루, 블랙 및 실버 테마가 있습니다. 그러나 테마는 창의 컨트롤에 적용되지 않습니다. 그것에 대한 해결책이 있습니까?
나는 주제와 같은 주제를 적용하고있다
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml"/>
</ResourceDictionary.MergedDictionaries>
그러나 컨트롤은 버튼과 같으며 텍스트 상자는 chaged되지 않습니다.
해결책
다양한 컨트롤에 WPF 스타일을 제공하려면 별도의 리소스 사전이 필요합니다. 다양한 앱에서 색상을 샘플링하여 직접 만들었습니다. 정말 어렵지 않으며 Olny는 몇 시간이 걸렸습니다.
빠르고 쉬운 솔루션을 찾고 있다면 WPF 테마. Bureau Blue 테마는 Office 2007 Blue와 거의 비슷합니다.
다른 팁
테마를 어떻게 적용하려고합니까? app.xaml (아래와 같은)에 적용하고 있습니까?
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
<ResourceDictionary Source="/WPFToolkit;V3.5.31016.1;component/DataGrid/Themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
나는 RibbonControlslibrary.dll에 정의 된 자원을 재사용하려고 노력하여 나머지 응용 프로그램에 유사한 스타일을 적용 할 수 있도록 노력하고 있습니다. 몇 시간 동안 검색하고 충격을받은 후, 이것이 내가 깨달은 것입니다.
<Rectangle Stroke="Black" StrokeThickness="2" RadiusX="6" RadiusY="6" HorizontalAlignment="Stretch" Width="Auto" Grid.RowSpan="3" Grid.ColumnSpan="3"
Fill="{DynamicResource {x:Static r:RibbonSkinResources.RibbonBackgroundBrushKey}}" />
리소스 사전의 키가 무엇인지 보고이 기사를 살펴 보면서 아이디어를 얻었습니다.componentresourcey에서 실제 리소스를 얻으려면 어떻게해야합니까?
이 방법을 사용하면 선택한 리본 스킨과 동일한 모양과 느낌을 갖는 다른 스타일을 만들 수 있습니다. 피부를 변경하면 버튼 등과 같은 응용 프로그램의 다른 측면을 다시 유지합니다 ...
제휴하지 않습니다 StackOverflow