3

トピックですでに述べたように、windows8はwindows7とは異なる動作をし、いくつかのテーマのコントロールを変換していることに気づきました。Windows8でアプリケーションを初めて開いたとき、次のことに気づきました。

コンボボックスの背景色を設定しても、windows8には影響しませんが、テキストボックスでは正常に機能します。一部のコンボボックスで目的の色を取り戻すには、コンボボックスのコントロールテンプレート全体をオーバーライドする必要がありました。

Windows 8で発生した別の問題は、テキストボックスのすべてのコンテンツがデフォルトで垂直方向の中央に配置されなくなり、すべてのコンテンツが上に配置されることです。windows7では、VerticalContentAlignmentプロパティを設定せずに、すべてのコンテンツがデフォルトで垂直方向に中央揃えされます。コンボボックスで以前に必要だったように、テキストボックスのテンプレート全体を再度オーバーライドする必要はありませんでした。すべてのtetxboxでVerticalContentAlignmentプロパティを「center」に設定すると機能しました。

これまでに気付いた3番目の問題は、16x16より大きいMenuItemsにアイコンを表示できないことです。私のすべてのMenuItemは、20x20サイズのアイコンを取得し、windows7で正常に表示されました。Windows8では、すべてのアイコンが16x16にトリミングされました。

私は次のコードを使用しました。これはWindows7で正常に機能しました。

<MenuItem Header="I'm a header">
   <MenuItem.Icon>
       <Image Source="Image.png" Height="20" Width="20" />
  </MenuItem.Icon>
</MenuItem>

...しかし、windows8ではしませんでした。

私はその種のwindows8にもっと小さな問題があるに違いない。

Windows8でのその動作の理由は誰か考えていますか?

4

2 に答える 2

0

マイクロソフトの接続ページを確認しましたが、説明した2つの問題は、バグ、コンボボックスの背景、メニュー項目の16x16への画像のトリミングとしてすでに報告されています。

于 2013-03-13T07:19:54.623 に答える
0

変更を加えずにコンボボックスとメニュー項目のテンプレートを抽出し、スタイルとして設定するだけで、Windows8の問題が修正されます。

これで、コンプボックスのbackgroundプロパティを通常どおりに使用できるようになり、menuitemアイコンの高さと幅の設定も機能するようになりました。

于 2013-03-13T08:20:40.447 に答える