WPF:如何对齐 2 个不同大小的标签
WPF: how to alignment 2 labels in different sizes
我有简单的 Grid
和 2 个标签,其中一个从 Slider Value
获得它的值 (0-100),我想要这个 2 labels
给我看 Slider Value
这种格式:
x 值 - 该值需要有不同的大小并且比 'x' 字符大得多,所以这是我的起始位置:
虽然 Value
改变了,但事情变得丑陋了:
我的代码:
<Grid Margin="857,112,87,383" >
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}"
Foreground="#FFB2B2B2" VerticalAlignment="Center" HorizontalAlignment="Center"
FontFamily="Buxton Sketch" FontSize="40" Grid.Column="1" Padding="0,0,0,0"/>
<Label Content="x" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="1" Foreground="#FFB2B2B2" Padding="0,20,0,0"/>
</Grid>
知道如何解决吗?
顺便说一句:我希望我的值在点后仅显示 1 个小数。
您可以将字符串格式添加到标签,这样您就可以完全控制所需的数字。
例如:
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}" ContentStringFormat="N1" />
另一种方法是将字符串格式直接添加到绑定中。那也行。就这样:
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged, StringFormat=N2}" />
对于你的第二个问题,你的网格设计是个问题。网格允许您创建列和行。利用它!像这样:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="x" Padding="0,20,0,0" />
<Label Grid.Column="1" Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
现在两个标签都在各自的列中,不能重叠。
我有简单的 Grid
和 2 个标签,其中一个从 Slider Value
获得它的值 (0-100),我想要这个 2 labels
给我看 Slider Value
这种格式:
x 值 - 该值需要有不同的大小并且比 'x' 字符大得多,所以这是我的起始位置:
虽然 Value
改变了,但事情变得丑陋了:
我的代码:
<Grid Margin="857,112,87,383" >
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}"
Foreground="#FFB2B2B2" VerticalAlignment="Center" HorizontalAlignment="Center"
FontFamily="Buxton Sketch" FontSize="40" Grid.Column="1" Padding="0,0,0,0"/>
<Label Content="x" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="1" Foreground="#FFB2B2B2" Padding="0,20,0,0"/>
</Grid>
知道如何解决吗?
顺便说一句:我希望我的值在点后仅显示 1 个小数。
您可以将字符串格式添加到标签,这样您就可以完全控制所需的数字。
例如:
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}" ContentStringFormat="N1" />
另一种方法是将字符串格式直接添加到绑定中。那也行。就这样:
<Label Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged, StringFormat=N2}" />
对于你的第二个问题,你的网格设计是个问题。网格允许您创建列和行。利用它!像这样:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="x" Padding="0,20,0,0" />
<Label Grid.Column="1" Content="{Binding ElementName=knobSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
现在两个标签都在各自的列中,不能重叠。