ich eine benutzerdefinierte Statusleiste erstellt haben, wie folgt:WPF individuelle Fortschrittsbalken Clipping
<!-- Custom progress bar -->
<Style
x:Key="CopyProgressBar"
TargetType="ProgressBar">
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="ProgressBar">
<Grid>
<Border
x:Name="PART_Track"
CornerRadius="5"
BorderBrush="#BBC6C4"
BorderThickness="2" />
<Rectangle
x:Name="PART_Indicator"
Fill="#A5B2B0"
RadiusX="5"
RadiusY="5"
Margin="3"
HorizontalAlignment="Left" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Hier ist, wie es verwendet wird:
<ProgressBar
x:Name="copyProgress"
Height="13"
Width="279"
Canvas.Left="158"
Canvas.Top="103"
Minimum="0"
Maximum="100"
Style="{StaticResource CopyProgressBar}" />
Es funktioniert ganz gut, aber wenn der Fortschritt ist voll Die rechte Seite des Füllbalkens ist abgeschnitten, wodurch das Rundungs-Styling entfernt wird, für das ich mich entschieden habe. Ich habe mit Padding, Rändern, maximaler Breite usw. gekontert, aber ich finde keinen Weg, das Clipping zu verhindern. Hier
ist ein Bild:
Bingo. Vielen Dank! Es ist nicht gerade ein intuitiver Prozess, diese Steuerelemente anzupassen. Kennen Sie hilfreiche Tutorials oder Dokumentationen, um mit solchen Dingen zu helfen? – BabaBooey
Für mich ist es immer Versuch und Irrtum (in Kaxaml für Geschwindigkeit). Sie können Blend verwenden, um die Stile zu kopieren und zu ändern, aber das Styling als Ganzes ist ein kraftvoller, brillanter, aber komplexer Prozess, so dass selbst das umständlich sein kann. –
+1 Als eine Randnotiz ... würdest du eigentlich Padding = "3" auf dem neu hinzugefügten Border setzen wollen, um das Gefühl zu bekommen, dass er vorher ging. –