WPF:在特定圆值点的圆周围放置标签
所以我有一个WPF:在特定圆值点的圆周围放置标签,wpf,geometry,Wpf,Geometry,所以我有一个圆圈和滑块: <DesignInControl:CircularProgressBar x:Name="circle" HorizontalAlignment="Center" VerticalAlignment="Center" Percentage="{Binding Value, ElementName=slider}" SegmentColor="Red" StrokeThickness="25" Radius="
圆圈
和滑块
:
<DesignInControl:CircularProgressBar
x:Name="circle"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Percentage="{Binding Value, ElementName=slider}"
SegmentColor="Red"
StrokeThickness="25"
Radius="100"/>
因此,我创建了简单的标签
:
<Label x:Name="vlb"
Content="123"
Margin="-50,-50,-50,-50"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Grid.RowSpan="2"
xml:space="preserve">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="3600.12"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
</Label>
结果几乎就是我想要的:
唯一的问题是我的标签不直
有什么建议可以解决这个问题吗?没有关系,但把百分比放在圆圈的中心不是更清楚吗?是的,这相当容易,但我认为这应该更好。我个人认为,把百分比放在圆圈的中心会比一个标签(相当烦人)好得多。无论如何,对于你的问题-将你的进度条和标签放在画布内,然后设置Canvas.Left
和Canvas.Top
标签的附加属性,我认为应该可以。好的,我就快到了,请看我的更新
<Label x:Name="vlb"
Content="123"
Margin="-50,-50,-50,-50"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Grid.RowSpan="2"
xml:space="preserve">
<Label.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="3600.12"/>
<TranslateTransform/>
</TransformGroup>
</Label.RenderTransform>
</Label>