1

私は本当にあなたの助けが必要です。

WPFアプリケーションを開発しています。私の開発マシンでは、AeroテーマのWindows7を使用しています。

AeroテーマなしでServer2008を使用していた同僚にアプリケーションを配信しました。

さて、アプリケーションの見た目と落ち込みは劇的に変化しました。

主な問題は、私がいくつかの行動の理由を理解していないということです。単純で、本当の問題を理解するのに十分なものを選びましょう:エキスパンダー!

UserControlで多くのエキスパンダーを使用しており、エキスパンダースタイルには次の機能があることを宣言しました。

<Style TargetType="Expander">
    <Setter Property="Background" Value="#FF9B9B9B" />
    <Setter Property="Padding" Value="0" />
</Style>

それは私のマシン(Aeroを搭載したWindows 7)では見栄えがします。私の同僚のマシンでは、背景値は尊重されますが、トグルボタンには灰色の背景境界線があります(SystemColors.ControlBrushKeyのようです)。

これは、Aeroを有効にした状態で、私が望む方法です。 ここに画像の説明を入力してください

そして、これは私がクラシックテーマで得ているものです: ここに画像の説明を入力してください

私はここで何が間違っているのですか?AeroとClassicでアプリケーションの見栄えを良くするために何ができますか?

Aero XAMLファイルをアプリケーションと一緒に出荷した場合、XPマシンで動作しますか?

ありがとう

4

3 に答える 3

3

このブログ投稿をご覧ください。著者はこの問題を解決できたようです。

于 2012-06-27T17:34:12.463 に答える
2

問題を見つけたようです。なんでこんな感じなのかよくわかりませんが……。

問題はスタイルの定義でした。次のようなものである必要があります。

<Style TargetType="{x:Type Expander}" BasedOn="{StaticResource {x:Type Expander}}">

したがって、定義したすべてのスタイルを分析し、「BasedOn」プロパティを追加する必要があります。

皆さん、ありがとうございました。

于 2012-06-28T07:40:52.633 に答える
0

名前空間を追加することで、ウィンドウのAeroテーマを強制できます

xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"

これは、WPFに付属のアセンブリに組み込まれているため、XPマシンで機能します。

于 2012-06-27T16:53:43.420 に答える