1

私が開発中のアプリケーションは、Windows 7 の Device Stage を厳密に反映しています。Device Stage では、メイン バナーの下に、ListViewItem として具現化されたアクションを含む ListView があります。

私の WPF アプリケーションでは、WindowsFormsHost を使用して WinForms ListView をホストし、それを使用SetWindowTheme()して Windows Vista/7 のスタイルを適用できるようにしました。

ただし、これは機能せず、Windows フォームで使用した場合と同じ効果は得られません。

WPF の ListView で Windows 7 の外観を実現するにはどうすればよいですか? カスタム スタイルを作成して適用するつもりはありません。率直に言って、このアプリで WPF を使い続けるのは面倒だからです。

ありがとう!:)

4

2 に答える 2

3

次の行を追加するだけです。

[DllImport("uxtheme.dll", CharSet = CharSet.Unicode)] 
public static extern int SetWindowTheme(IntPtr hWnd, String pszSubAppName, String pszSubIdList); 

.ctor 
{
    System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
    System.Windows.Forms.Application.EnableVisualStyles();

    SetWindowTheme(MyControl.Handle, "Explorer", null); 
}
于 2010-05-07T00:06:06.393 に答える
0

どうやら掘り下げた後、唯一の答えは、WPFでカスタム設計されたコントロールを作成することのようです。

于 2009-10-19T17:35:13.387 に答える