Итак, у меня есть этот Progress-Bar и на его правой стороне простой Border, который внутри этого Border я хочу поместить Label (Progress-Bar находится на левой стороне):
И вот после этого 2 Progress-Bar со значением 100%:
Как вы можете видеть, я вижу Progress-BarCorner Radius, и я хочу, чтобы моя левая сторона Border была с отрицательным Corner Radius
Мой стиль Progress-Bar:
<Style x:Key = "{x:Type ProgressBar}" TargetType = "{x:Type ProgressBar}">
<Setter Property = "Template">
<Setter.Value>
<ControlTemplate TargetType = "{x:Type ProgressBar}">
<Grid MinHeight = "14" MinWidth = "200">
<Border Name = "PART_Track"
CornerRadius = "5,0,0,5"
Background = "{DynamicResource ProgressBarBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarBackgroundColor}"
BorderThickness = "0" />
<Border Name = "PART_Indicator"
CornerRadius = "8"
Background = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderThickness = "0"
HorizontalAlignment = "Left" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<StackPanel Orientation = "Horizontal">
<ProgressBar Name = "progressBar"
Height = "20"
Width = "700"
Minimum = "0"
VerticalAlignment = "Center"
Maximum = "100"
HorizontalAlignment = "Left"
Value = "{Binding Progress, UpdateSourceTrigger=PropertyChanged}"
Style = "{StaticResource {x:Type ProgressBar}}"
Margin = "0,0,0,0"/>
<Border Width = "40"
Height = "19"
VerticalAlignment = "Center"
HorizontalAlignment = "Left"
CornerRadius = "0,5,5,0"
Margin = "0,0,0,0">
<Border.Background>
<SolidColorBrush Color = "#FF343D46" Opacity = "0.4"/>
</Border.Background>
</Border>
</StackPanel>
**UPDATE**
Это мой код





По сути, то, что вы хотите сделать, - это когда у вас есть значение индикатора выполнения, равное 100, вы хотите применить другой шаблон, а также тот, который у вас есть, когда вы просто отображаете индикатор выполнения. Используйте следующий XAML:
Вы можете видеть это в шаблоне триггера - свойство радиуса угла было установлено слишком равным нулю для правильных углов дорожки индикатора выполнения.
<Style x:Key = "{x:Type ProgressBar}" TargetType = "{x:Type ProgressBar}">
<Setter Property = "Template">
<Setter.Value>
<ControlTemplate TargetType = "{x:Type ProgressBar}">
<Grid MinHeight = "14" MinWidth = "200">
<Border Name = "PART_Track"
CornerRadius = "5,0,0,5"
Background = "{DynamicResource ProgressBarBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarBackgroundColor}"
BorderThickness = "0" />
<Border Name = "PART_Indicator"
CornerRadius = "5"
Background = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderThickness = "0"
HorizontalAlignment = "Left" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property = "Value" Value = "100">
<Setter Property = "Template">
<Setter.Value>
<ControlTemplate TargetType = "{x:Type ProgressBar}">
<Grid MinHeight = "14" MinWidth = "200">
<Border Name = "PART_Track"
CornerRadius = "5,0,0,5"
Background = "{DynamicResource ProgressBarBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarBackgroundColor}"
BorderThickness = "0" />
<Border Name = "PART_Indicator"
CornerRadius = "5,0,0,5"
Background = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderBrush = "{DynamicResource ProgressBarFillBackgroundColor}"
BorderThickness = "0"
HorizontalAlignment = "Left" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
Это приведет к следующему поведению:
Пожалуйста, посмотрите мое обновление, то, что вы сделали с полосой выполнения, в порядке, но с правой стороны я хочу, чтобы граница с закругленными углами, но на этот раз напротив
То, что я сделал в подобных ситуациях, - это то, что индикатор выполнения слегка перекрывает метку. Вместо того, чтобы помещать полосу внутри панели стека, поместите ее в сетку и перекрывайте индикатор выполнения над этикеткой.
Извините, но я не понял ваш метод, можно мне простой пример кода?
Извините, но опубликованный вами код не соответствует снимкам экрана. Думаю, я понимаю, что вы пытаетесь сделать, но опубликуйте образец кода, который действительно соответствует вашей проблеме, и вам, вероятно, повезет больше с ответом.