我正在尝试在WPF中实现一个垂直进度条,但我遇到了一些困难。我跟随Greg D的回答来自Vertical progress bar template .net,但这对我不起作用。我试过使用外部风格和内联,没有运气。这很烦人,因为它似乎是一个相对简单的答案。
这是我的XAML
;
<ProgressBar Name="VolumeMeter" Orientation="Vertical" Margin="4,30,0,0"
Value="50" HorizontalAlignment="Left" VerticalAlignment="Top" Height="300" Width="10">
<ProgressBar.Template>
<ControlTemplate>
<Border BorderBrush="Green" x:Name="Root" BorderThickness="1">
<Grid Name="PART_Track" Background="Red">
<Rectangle Name="PART_Indicator" Fill="Blue"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Orientation" Value="Vertical">//Error Here
<!-- Rotate the progressbar so the left edge is the bottom edge -->
<Setter TargetName="Root" Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="270" />
</Setter.Value>
</Setter>
<Setter TargetName="Root" Property="Width"
Value="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Height}"/>
<Setter TargetName="Root" Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Width}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ProgressBar.Template>
</ProgressBar>
我得到的错误是在<Trigger Property="Orientation" Value="Vertical">
行,我正在接受;
在“System.Windows.Controls.Control”类型上找不到模板属性“Orientation”。
答案 0 :(得分:6)
设置TargetType
的{{1}}。
答案 1 :(得分:2)
<ControlTemplate TargetType="ProgressBar">
或
<Trigger Property="ProgressBar.Orientation" Value="Vertical">