20

Windows 8 と Visual Studio 2012 のリリース バージョンを使用して、リボン コントロールを備えた WPF アプリケーションを作成しています。.Net Framework 4.5 の WPF に付属するリボン コントロールを選択します。

リボンを作成する私のコード:

<RibbonWindow
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfExperiments" x:Class="WpfExperiments.MainWindow"
    Title="MainWindow" Height="350" Width="525" Icon="Test.ico">
<Ribbon>        
    <Ribbon.ApplicationMenu>
        <RibbonApplicationMenu>
            <RibbonApplicationMenuItem Header="Item 1"></RibbonApplicationMenuItem>
        </RibbonApplicationMenu>
    </Ribbon.ApplicationMenu>
    <Ribbon.QuickAccessToolBar>
        <RibbonQuickAccessToolBar>
            <RibbonButton SmallImageSource="Test.ico" Label="Test"></RibbonButton>
        </RibbonQuickAccessToolBar>
    </Ribbon.QuickAccessToolBar>
</Ribbon>

しかし、問題は、windows 8 のスタイルと一致しない醜いスタイルのウィンドウを生成することです。

マイリボン

エクスプローラ リボンと比較してください。ウィンドウのタイトルは中央に配置され (色も異なります)、ウィンドウの境界線のサイズも異なります。リボンのスタイルは同じではありませんが、MS Word (Windows 8 で正しく表示される) と同じリボン スタイルがあれば満足です。

Windows 8 のエクスプローラー リボン

WPF のリボン コントロールは新しい Windows 8 スタイルをサポートしていませんか? または、設定を見逃しましたか?

編集:

Blend でテンプレートの編集を開始しました (4.0、5.0 にアクセスできません)。いくつかのコンパイル エラー (blend のバグのようです) を修正した後、アプリケーションを実行できますが、次のようになります。

ここに画像の説明を入力

しかし、それは私の変更の良い出発点ではありません...

4

1 に答える 1

2

WPF リボンは、オペレーティング システムによって提供されるコントロールのラッパーではありません (ほとんどの Windows フォーム コントロールと同様)。他の WPF コントロールと同じくらい柔軟です (テンプレート パーツのサポートに注意してください)。

とはいえ、Windows 8 スタイルをサポートするように (現在) コントロールが更新されていないことが問題です。変更する必要がある複数のコントロールのテンプレートの数と、下位互換性を維持する必要があることを考えると (これは現時点での私の推測です)、.NET 4.5 がリリースされたとき、それは優先事項ではないと見なされた可能性があります。

自分でテーマを変更できるかもしれませんが、それは大変な作業のように見えるため、Windows 8 リボン スタイルを既に実装しているサード パーティ製のコントロールを使用する価値があるかもしれません。

于 2012-09-30T22:22:32.840 に答える