0

我对网格中的列有疑问。我希望列具有相同的宽度,并且该宽度不应取决于列的内容。

这是我的代码:

<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}}"

我使用转换器只是减去边距的宽度。

4

0 回答 0