c# - 하기 - xaml 디자인



하나의 컨트롤에 대해서만 비주얼 스타일을 비활성화하려면 어떻게해야합니까? (1)

TabControl 내에 TabControl이 있습니다. 바깥 쪽 TabControl에서 왼쪽에 탭을 표시하고 싶습니다. 그러나 Visual Styles를 사용하면 왼쪽 맞춤 TabControl이 제대로 표시되지 않습니다. 바깥 쪽 TabControl에 대해서만 비주얼 스타일을 비활성화 할 수 있습니까?

나는 제 3 자 TabControl 대체품을 알고 있습니다. 그건 내가 쓴 것이 아닙니다.


프로젝트에 새 클래스를 추가하고 아래 표시된 코드를 붙여 넣습니다. 짓다. 새 컨트롤을 도구 상자의 위쪽에서 폼으로 끌어다 놓습니다. 자식 컨트롤의 비주얼 스타일은 유지됩니다.

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

public class FixedTabControl : TabControl {
  [DllImportAttribute("uxtheme.dll")]
  private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);

  protected override void OnHandleCreated(EventArgs e) {
    SetWindowTheme(this.Handle, "", "");
    base.OnHandleCreated(e);
  }
}




tabcontrol