2014-02-27 4 views
3

단색으로 수직 진행 바 스타일링을 도와 주시겠습니까? 나는이 스타일Wpf 수직 진행 바 스타일링

<Style TargetType="{x:Type ProgressBar}" x:Key="{x:Type ProgressBar}"> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type ProgressBar}"> 
     <Grid> 
      <Rectangle Name="PART_Track" StrokeThickness="1" > 
      <Rectangle.Fill> 
       <SolidColorBrush Color="#FF00FF00"></SolidColorBrush> 
      </Rectangle.Fill> 
      </Rectangle> 
      <DockPanel Margin="1"> 
      <Rectangle Name="PART_Indicator"> 
      </Rectangle> 
      <Rectangle Name="Mask" MinWidth="{TemplateBinding Width}" Fill="#C0C0C0"/> 
      </DockPanel> 
     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

을 만들 수있었습니다하지만 여전히 수평 방향이 내가 그것을 변경하는 방법을 모르겠어요.

답변

7

기본 템플릿에 ControlTemplate.Triggers가 있습니다. 이 트리거는 각도를 -90 ° 회전합니다.

당신이 당신의 컨트롤에

 <ControlTemplate.Triggers> 
          <Trigger Property="Orientation" Value="Vertical"> 
           <Setter Property="LayoutTransform" TargetName="TemplateRoot"> 
            <Setter.Value> 
             <RotateTransform Angle="-90"/> 
            </Setter.Value> 
           </Setter> 
          </Trigger> 
    </ControlTemplate.Triggers> 

을 추가하고 양육 그리드 "TemplateRoot을"이름을 경우에 당신은 방향을 설정할 수 있습니다.

여기에 템플릿의

<Style TargetType="{x:Type ProgressBar}" x:Key="{x:Type ProgressBar}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type ProgressBar}"> 
        <Grid x:Name="TemplateRoot"> 
         <Rectangle Name="PART_Track" StrokeThickness="1" > 
          <Rectangle.Fill> 
           <SolidColorBrush Color="#FF00FF00"></SolidColorBrush> 
          </Rectangle.Fill> 
         </Rectangle> 
         <DockPanel Margin="1"> 
          <Rectangle Name="PART_Indicator"> 
          </Rectangle> 
          <Rectangle Name="Mask" MinWidth="{TemplateBinding Width}" Fill="#C0C0C0"/> 
         </DockPanel> 
        </Grid> 
        <ControlTemplate.Triggers> 
         <Trigger Property="Orientation" Value="Vertical"> 
          <Setter Property="LayoutTransform" TargetName="TemplateRoot"> 
           <Setter.Value> 
            <RotateTransform Angle="-90"/> 
           </Setter.Value> 
          </Setter> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style>