为什么XAML Width =“Auto”对我不起作用?

时间:2008-12-24 12:44:04

标签: xaml

我开始维护一些写得不好的XAML。我对XAML比较陌生。

我需要的一件事是 - 网格列应该自动调整文本内容的宽度。

GridViewColumn.Width上的MSDN文档说 - 将其设置为Auto以启用自动调整大小的行为。但是,即使代码如下所示,无论内容文本如何,列宽都保持不变。

<ListView.View>
<GridView>
<GridViewColumn x:Name="lstColName" Width="200">Name</GridViewColumn>
<GridViewColumn x:Name="lstColPath" Width="Auto">Path</GridViewColumn>
</GridView>
</ListView.View>

3 个答案:

答案 0 :(得分:2)

GridView仅在模板或内部列集合发生更改时重新计算列内容大小,这就是Width="Auto"仅在加载GridView时有效的原因。

Here是一篇关于解决问题的可能方法的文章。

答案 1 :(得分:0)

Auto可以正常工作,如下所示。

    <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn x:Name="Spoons" Width="Auto">

                </GridViewColumn>

            </GridView>
        </ListView.View>
    </ListView>

答案 2 :(得分:0)