Wpf ProgressBar将剪辑最顶层的值

Wpf ProgressBar将剪辑最顶层的值,wpf,xaml,progress-bar,clipping,Wpf,Xaml,Progress Bar,Clipping,我在WPF中重新刷新进度条时遇到了一个小问题。具体地说,无论我做什么,它似乎都将内部指标限制在99%左右。我试过各种各样的方法,从剪贴到不透明面具,但我似乎无法阻止顶部被剪掉。你知道这是怎么回事吗 代码: 尝试设置最内侧网格的Margin=“0,4”并设置“零件指示器”Margin=“0,0,0,-4”。或者只需使用以下代码: <Style x:Key="BarrelStyle" TargetType="{x:Type ProgressBar}"> <Setter Pr

我在WPF中重新刷新进度条时遇到了一个小问题。具体地说,无论我做什么,它似乎都将内部指标限制在99%左右。我试过各种各样的方法,从剪贴到不透明面具,但我似乎无法阻止顶部被剪掉。你知道这是怎么回事吗

代码:


尝试设置最内侧网格的
Margin=“0,4”
并设置“零件指示器”
Margin=“0,0,0,-4”
。或者只需使用以下代码:

<Style x:Key="BarrelStyle" TargetType="{x:Type ProgressBar}">
    <Setter Property="Value" Value="100" />
    <Setter Property="Orientation" Value="Vertical" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ProgressBar}">
                <Grid>
                    <Border CornerRadius="10" BorderThickness="1" Padding="3,3,3,3" x:Name="PART_Track" Background="Blue">
                        <Border x:Name="PART_Indicator" CornerRadius="10" BorderBrush="#FFC06565" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0,0,0,-4">
                            <Grid Margin="0,4">
                                <Border x:Name="Indicator_Content" CornerRadius="10" Background="Red" BorderBrush="White" BorderThickness="1"/>
                                <Border x:Name="Indicator_Gloss" CornerRadius="10" >
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="1.0,0.5" StartPoint="0.05,0.5">
                                            <GradientStop Color="#75000000" Offset="0"/>
                                            <GradientStop Color="#7EFFFFFF" Offset="0.5"/>
                                            <GradientStop Color="#75000000" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                            </Grid>
                        </Border>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


这与默认行为不同?是的,这很有效。基本上,通过将所有东西放在一个新的边界,我得到了我需要的东西。谢谢
<Style x:Key="BarrelStyle" TargetType="{x:Type ProgressBar}">
    <Setter Property="Value" Value="100" />
    <Setter Property="Orientation" Value="Vertical" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ProgressBar}">
                <Grid>
                    <Border CornerRadius="10" BorderThickness="1" Padding="3,3,3,3" x:Name="PART_Track" Background="Blue">
                        <Border x:Name="PART_Indicator" CornerRadius="10" BorderBrush="#FFC06565" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0,0,0,-4">
                            <Grid Margin="0,4">
                                <Border x:Name="Indicator_Content" CornerRadius="10" Background="Red" BorderBrush="White" BorderThickness="1"/>
                                <Border x:Name="Indicator_Gloss" CornerRadius="10" >
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="1.0,0.5" StartPoint="0.05,0.5">
                                            <GradientStop Color="#75000000" Offset="0"/>
                                            <GradientStop Color="#7EFFFFFF" Offset="0.5"/>
                                            <GradientStop Color="#75000000" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                            </Grid>
                        </Border>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>