9

WPF ツールキットの RibbonControl を使用しています。Office Blue、Black、Silver のテーマがあります。しかし、テーマはウィンドウ内のコントロールには適用されません。そのための解決策はありますか?

私は次のようなテーマを適用しています

 <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml"/>
 </ResourceDictionary.MergedDictionaries>

しかし、コントロールはボタンのようなもので、テキストボックスは変更されていません。

4

3 に答える 3

3

さまざまなコントロールにWPFスタイルを提供するには、個別のリソースディクショナリが必要です。さまざまなアプリで色をサンプリングして、自分で作成しました。それは本当に難しいことではありません、そしてそれは私に数時間かかりました。

すばやく簡単な解決策を探している場合は、WPFテーマを試してください。ビューローブルーのテーマは、Office2007ブルーによく似ています。

于 2009-10-02T16:54:58.780 に答える
0

私は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}}" />

リソースディクショナリのキーが何であるか、そしてこの記事を見て、私はアイデアを得ました: ComponentResourceKeyから実際のリソースを取得するにはどうすればよいですか?

この方法では、選択したリボンスキンと同じルックアンドフィールを持つ他のスタイルを作成できます。スキンを変更すると、ボタンなど、アプリケーションの他の側面のスタイルが変更されます。

于 2010-03-10T11:52:09.247 に答える
0

どのようにテーマを適用しようとしていますか? 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>
于 2009-09-30T21:48:43.347 に答える