2011-04-27 1 views
2

Silverlight 포럼 페이지에서 발견 된 ChildWindow가 뒤에 코드로 작성된 경우은 나머지 페이지의 테마를 선택합니다. 이 ChildWindow에서을 상속받은 경우에만 더 이상 사용되지 않습니다.Silverlight Toolkit - 테마가있는 ChildWindow

나를 위해 일어나는 것은 아니지만 어떤 이유로 든. 여기 내 테마 요소 :

<wp:Theme x:Name="ThemeContainer" ThemeUri="/System.Windows.Controls.Theming.BubbleCreme;component/Theme.xaml"> 

그리고 여기가 ChildWindow를 만들려고하는 데 사용하고 버튼에 대한 이벤트 핸들러입니다. 창이 열리지 만 적용된 테마가 없습니다.

private void Button_Click(object sender, RoutedEventArgs e) { 
     ChildWindow cw = new ChildWindow() { Height = 250, Width = 200 }; 
     cw.Show(); 
    } 

작동하려면 어떤 방법이 있습니까?

답변

3
당신은 App.xaml에서 원하는 글로벌 테마를 설정하고 응용 프로그램의 주제로 선언해야합니다

:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      x:Class="MyApp" 
      xmlns:thm="MyThemeNamespace" 
      thm:MyTheme.IsApplicationTheme="True" 
      > 
    <Application.Resources> 

    </Application.Resources> 
</Application> 

당신은 정적

을 시도 할 수 있습니다, 동적 응용 프로그램 테마를 설정하려면
Theme.SetApplicationThemeUri(myApp, myThemeUri); 
+1

Bah - 내가 그렇게하면 페이지에서 선언 된 테마로 앱을 실행하는 동안 계속 동적으로 테마를 전환 할 수 있습니까 ?? –

+0

@Adam Rackis 나는 대답을 업데이트 할 수 있다고 생각합니다. – herzmeister

+0

완벽하게 작동했습니다. app.xaml 파일에는 아무 것도 필요하지 않습니다. 내 코드에서 Theme.SetApplicationThemeUri (myApp, myThemeUri)을 설정하는 것만으로도 필자가 필요로하는 것이었다. 나는 사용자가 선택할 수있는 고전적인 콤보 박스 테마를하려고 노력하고있다. –