2015-01-30 12 views
1

UniformGrid에서 많은 Rectangle 컨트롤을 사용하고 있습니다. 여기에는 의 MultiBinding을 통해 Fill 속성을 설정하는 XAML 코드의 모든 부분이 포함됩니다 (아래 예제 참조). 이 코드 중복을 방지 할 수있는 방법이 있습니까? XAML 코드를 줄이기 위해 선호되는 방법은 무엇입니까?XAML에서 중복 코드 방지

많이 Thx!

<Window.Resources> 
    <Style x:Key="RectangleStyle" TargetType="Rectangle"> 
     <Setter Property="Fill"> 
     <Setter.Value> 
      <MultiBinding Converter="{StaticResource Converter}"> 
       <Binding Path="Field"/> 
       <Binding> 
        <Binding.RelativeSource> 
        <RelativeSource Mode="Self"/> 
        </Binding.RelativeSource> 
       </Binding> 
      </MultiBinding> 
     </Setter.Value> 
     </Setter> 
    </Style> 
</Window.Resources> 

을 그리고 다음과 같이 사용 :

<Rectangle> 
    <Rectangle.Fill> 
     <MultiBinding Converter="{StaticResource Converter}"> 
      <Binding Path="Field"/> 
      <Binding> 
       <Binding.RelativeSource> 
        <RelativeSource Mode="Self"/> 
       </Binding.RelativeSource> 
      </Binding> 
     </MultiBinding> 
    </Rectangle.Fill> 
</Rectangle> 
+0

새로운'UserControl'을 만듭니다. –

+0

예를 들어 app.xaml에 템플릿을 추가 할 수 있습니다. –

+3

스타일을 작성하여 응용 프로그램 리소스에 추가하고 스타일을 다시 사용하거나 동일한 스타일로 사용자 정의 컨트롤을 만들고 사용할 수 있습니다. –

답변

3

당신은 스타일을 정의 할 수 있습니다

<Rectangle Style="{StaticResource RectangleStyle}"/> 
+0

Styles를 사용하여 고마워요! – Mica