2012-10-22 5 views
44

Silverlight에서 기본 스타일을 기반으로 스타일을 만드는 방법은 무엇입니까?기본 스타일을 기반으로 스타일을 만드는 방법은 무엇입니까?

<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}"> 
    <Setter Property="Margin" Value="2" /> 
    <Setter Property="Padding" Value="2" /> 
</Style> 
+5

나는 WPF에서 그것을하는 방법에 대한 답변을 찾고이 질문에 왔어 :) –

답변

18
거의

같은 :

예를 들어, WPF에서 우리처럼합니다. 그냥 x를 빼고 : 좀 더 명확한 이름을 붙여 입력하십시오.

<Style TargetType="TextBox" BasedOn="{StaticResource DefaultTextBoxStyle}"> 

자세한 정보 here in the docs. 추신 : 기본 템플릿이 필요한 경우 텍스트 상자는 일반적으로 CoreStyles.xaml에서 찾을 수 있습니다.

부탁드립니다. 답안을 처음 읽으면서 혼란 스러울 수 있으므로 주석에 요청하십시오.

"기본 스타일이 필요합니다. ToolkitStyles.xaml, SDKStyles.xaml, CoreStyles.xaml 등과 같은 파일을 만드는 응용 프로그램 테마에서 수행하기 때문에 정말 쉽습니다. ., 명명 된 스타일을 만들 필요가 어떤 대답에있는 이름이 기본 스타일을 기반으로 스타일을 만들려면

+2

하지만 내가 상속 기본 스타일의 사용자 정의 컨트롤을 상속하려는 (개발 나에게서부터로)? – ZuTa

+1

어쩌면 내 질문은 분명히 .. – ZuTa

+0

오, 그럼 그냥 자신의 필드로 바꿉니다. DefaultTextBoxStyle 대신 YourStyleTemplate 등으로 바꿉니다. 그렇습니까? –

11

"어디에서 온 것입니다 후라는 이름의 스타일에 따라 기본 스타일을 (http://weblogs.asp.net/lduveau/silverlight-how-to-inherit-from-an-implicit-style)

<Style x:Key="DefaultCustomControlStyle" TargetType="local:CustomControl"> 
    <Setter Property="Padding" Value="2" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="local:CustomControl"> 
       <ContentPresenter /> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
<Style TargetType="local:CustomControl" BasedOn="{StaticResource DefaultCustomControlStyle}" /> 
관련 문제