1

我正在尝试在 WPF 中实现垂直进度条并且遇到了一些困难。我正在关注垂直进度条模板 .net中 Greg D 的回答,但它对我不起作用。我已经尝试过使用外部样式和内联,但没有运气。这很烦人,因为它似乎是一个相对简单的答案。

这是我的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”类型上找不到模板属性“方向”。

4

2 回答 2

6

设置. TargetType_ControlTemplate

于 2012-07-06T14:30:05.927 回答
2
<ControlTemplate TargetType="ProgressBar">

或者

 <Trigger Property="ProgressBar.Orientation" Value="Vertical">
于 2012-07-06T14:33:43.010 回答