Wpf ProgressBar将剪辑最顶层的值
我在WPF中重新刷新进度条时遇到了一个小问题。具体地说,无论我做什么,它似乎都将内部指标限制在99%左右。我试过各种各样的方法,从剪贴到不透明面具,但我似乎无法阻止顶部被剪掉。你知道这是怎么回事吗 代码: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
尝试设置最内侧网格的
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>