2013-09-08 3 views
5

특정 조건이 발생할 때 프로그래밍 방식으로 플랫 스타일을 단추에 제공하려고합니다.프로그래밍 방식으로 단추 플랫 스타일 설정

This question은 XAML에서 정의한 프로그래밍 방식으로 컨트롤에 스타일을 설정할 수있는 방법을 보여줍니다.

This question은 플랫 버튼 스타일이 이미 있음을 보여 주므로 XAML에서 플랫 단추 스타일을 만들 필요가 없습니다.

ToolBar.ButtonStyleKeyResourceKey을 반환하며 해당 스타일은 내 창 (Toolbar에 있음)에 정의되어 있지 않습니다. 프로그래밍 방식으로 스타일을 설정하는 코드에서이 코드를 어떻게 사용합니까?

답변

12

대안으로, 당신이 시도 할 수 있습니다 :

XAML

<Button Name="FlatButton" Width="100" Height="30" Content="Test" /> 

Code behind

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    FlatButton.Style = (Style)FindResource(ToolBar.ButtonStyleKey); 
} 
8

해결 방법입니다.

<Window.Resources> 
    <Style x:Key="MyStyle" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="Button" /> 
</Window.Resources> 

그런 다음 코드에서,이 질문에 첫 번째 링크에 따라이를 참조 : 다음과 같이 Window.ResourcesToolBar.ButtonStyleKey에 따라 스타일을 추가

button.Style = this.Resources["MyStyle"] as Style; 

가 나는 코드 -을 선호하는 것 유일한 솔루션 (아니 XAML)이 있지만,이뿐만 아니라 작동합니다.

관련 문제