代码之家  ›  专栏  ›  技术社区  ›  no-name

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

  •  -1
  • no-name  · 技术社区  · 7 年前

    我有一些标签,我在代码后面更新。问题是当我更新标签的内容时,标签没有调整大小(它应该调整大小以适应内容)。我尝试重新设置标签宽度自动与双倍NaN正如我在在线资源中所建议的那样,在代码隐藏中,但这似乎不起作用。 当我在代码中更新标签时,内容对于标签来说太长,即使我在代码隐藏中将宽度重新设置为“自动”

    我的XAML标签的宽度定义为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 回复  |  直到 7 年前
        1
  •  1
  •   mm8    7 年前

    拆下 RenderTransformOrigin Margin 设计器(?)已添加到您的 Label :

    <Label x:Name="wp7" Content="wp7" Grid.Column="2" FontSize="30" HorizontalAlignment="Left" 
    Grid.Row="2" VerticalAlignment="Top" />
    

    没有理由显式设置 Width 如果您希望它根据内容调整自身大小。