当列的内容宽度发生变化时,避免拉伸网格列

时间:2013-09-16 09:15:40

标签: c# wpf grid telerik telerik-grid

我的网格列有问题。我想要有相同宽度的列,这个宽度不应该取决于列的内容。

这是我的代码:

<Grid Margin="5" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <telerik:RadTreeView Margin="5,0,5,0" Grid.Column="0" 
                         ItemsSource="{Binding TreeView0}" />
    <telerik:RadTreeView Margin="5,0,5,0" Grid.Column="1" 
                         ItemsSource="{Binding TreeView1}" />
    <telerik:RadTreeView Margin="5,0,5,0" Grid.Column="2" 
                         ItemsSource="{Binding TreeView2}" />
    <telerik:RadTreeView Margin="5,0,5,0" Grid.Column="3" 
                         ItemsSource="{Binding TreeView3}" />
</Grid>

当我在RadTreeView中展开树时,列会改变它的宽度,其他列会分别更改。但我希望有四列宽度=网格宽度的1/4。 RadTreeView有自己的ScrollBar用于水平滚动。


解决方案

我已经在 talegna 的帮助下解决了我的问题。我为每个RadTreeView控件定义了 MaxWidth 属性:

MaxWidth="{Binding ElementName=Column, Path=ActualWidth, Converter={StaticResource TreeWidthConverter}}"

我正在使用转换器来减去边距的宽度。

0 个答案:

没有答案