如何限制列的最大宽度?

时间:2011-02-22 09:36:14

标签: c# silverlight

我有一个带有一些列的DataGrid,我希望其中一列占用所有可能的宽度来填充DataGrid,但不多了。因此,如果DataGrid的宽度不够,它将包装其文本。 我使用了TextWrapping,但只有在为列设置固定宽度时才有效。 有没有办法实现我的目标? (使文本换行和自动调整宽度?)

2 个答案:

答案 0 :(得分:2)

由于您尚未发布任何xaml,因此不清楚您尝试了什么。 以下工作正常: -

            <sdk:DataGridTemplateColumn Width="*" Header="Memo">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock TextWrapping="Wrap" Text="{Binding Memo}" />
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
                <sdk:DataGridTemplateColumn.CellEditingTemplate>
                    <DataTemplate>
                        <TextBox TextWrapping="Wrap" Text="{Binding Memo}" />
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellEditingTemplate>
            </sdk:DataGridTemplateColumn>

答案 1 :(得分:0)

我在WPF上遇到了类似的情况,你应该尝试一下,

创建附加行为,在网格或列加载后,将列的宽度设置为与列的实际宽度相同。

通过这种方式,您可以通过SL自动进行Witdh计算并具有固定的Witdh,因此包装将起作用。