更新内容后调整WPF标签的大小

时间:2018-07-18 09:17:04

标签: c# wpf

我有一些标签,这些标签会在后面的代码中更新。问题在于,当我更新标签的内容时,标签不会调整大小(应调整大小以适合内容)。我尝试按照我发现的在线资源中的建议,在代码后边将Double.NaN的标签宽度设置为auto,但这似乎不起作用。 当我在代码中更新标签时,内容对于标签来说太长了,即使我在后面的代码中将宽度重新设置为自动

我的XAML标签的Width定义为Width =“ Auto”。 <Label x:Name="wp7" Content="wp7" Grid.Column="2" Width="Auto" FontSize="30" HorizontalAlignment="Left" Margin="83,386.03,0,0" Grid.Row="2" VerticalAlignment="Top" RenderTransformOrigin="1.065,-0.256">

与此相关的代码如下:

Label lb = (Label)FindName(bezetting.Key);
                if (lb != null)
                {
                    lb.Content = bezetting.Value;
                    lb.Width = Double.NaN;
                }  

为什么这行不通?是因为宽度是根据XAML中设置的原始值设置为自动的,并且在更新标签时未调整大小的?我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

删除设计者(?)已添加到您的RenderTransformOrigin的{​​{1}}和Margin属性:

Label

如果您希望<Label x:Name="wp7" Content="wp7" Grid.Column="2" FontSize="30" HorizontalAlignment="Left" Grid.Row="2" VerticalAlignment="Top" /> 的内容根据内容自行调整大小,则没有理由明确设置Width的{​​{1}}属性。