如何将“网格”列设置为“自动调整大小”,但如果内容过大则不会剪切内容?

时间:2009-06-26 01:47:32

标签: user-interface silverlight-2.0

我在Grid的第一列中嵌入了一个DataGrid。我希望网格列自动调整大小为内容,但是当我这样做并且DataGrid变得太宽时(当用户添加列时),DataGrid会被包含列剪切。基本上我需要保留DataGrid的滚动行为,但让DataGrid缩小到内容,永远不会被剪裁。

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data">
<Border x:Name="LayoutRoot" Background="White">
    <Grid HorizontalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition
                Height="Auto" />
            <RowDefinition
                Height="Auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition
                Width="Auto" />
        </Grid.ColumnDefinitions>
        <Border><!--Toolbar content goes here--></Border>
        <data:DataGrid
            MaxHeight="350"
            Grid.Row="1" />
    </Grid>
</Border>

1 个答案:

答案 0 :(得分:1)

你有没有试过像:

<ColumnDefinition Width="Auto" MinWidth="80" MaxWidth="200"/>