문제

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에서 실제 리소스를 얻으려면 어떻게해야합니까?

이 방법을 사용하면 선택한 리본 스킨과 동일한 모양과 느낌을 갖는 다른 스타일을 만들 수 있습니다. 피부를 변경하면 버튼 등과 같은 응용 프로그램의 다른 측면을 다시 유지합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top