为了账号安全,请及时绑定邮箱和手机立即绑定

当行折叠时动态调整datagrid列的大小

当行折叠时动态调整datagrid列的大小

C#
Qyouu 2021-04-12 09:14:47
我有一个DataGrid控件dgChangesMade,带有ItemsSource = ObservableCollection<CheckinPath>。第一列dgPath是DataGridTemplateColumn,由复选框TextBlock。转换器为后者返回一条相对路径。数据网格行的可见性绑定到IsVisible属性。除了DataGrid控件外,我还有一个CheckBox控件:IsChecked事件绑定到布尔属性IsChecked。设置器设置绑定到DataGrid的项目源的对象的IsVisible属性。因此数据网格行被折叠/当该复选框(未)示出检查。SourceUpdated事件绑定到CheckBox_SourceUpdated就像Scott在另一个线程中指出的那样:DataGrid将增加列的大小以适应数据变长的情况,但是当数据长度减小时,它不会自动减小列的大小所以在CheckBox_SourceUpdated事件中将列宽设置为0强制更新DataGrid的布局将列宽设置为自动不幸的是,这没有帮助。当(取消)选中复选框控件时,列的宽度会在需要时增加(请参见屏幕截图中的2),但不会根据datagrid列中的数据长度自动减小(请参见屏幕截图3中的内容,其中3显示与以下内容相同的内容) 1)。有任何想法吗?截屏XAML<DataGrid Name='dgChangesMade' Width='Auto' ItemsSource="{Binding Path=ChangesMade}">    <DataGrid.Resources>        <DataGridTemplateColumn Width='Auto' x:Key='dgPath' Header='Path' IsReadOnly='True' x:Shared='False'>        <DataGridTemplateColumn.CellTemplate>            <DataTemplate>                <StackPanel Orientation='Horizontal' VerticalAlignment='Center'>                    <CheckBox IsChecked='{Binding IsChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}'>                    <TextBlock Text='{Binding Converter={StaticResource CheckinPathConverter}, ConverterParameter="Path"}' />                    </StackPanel>                </DataTemplate>            </DataGridTemplateColumn.CellTemplate>        </DataGridTemplateColumn>        <Style x:Key='dgShowHideRow' TargetType='DataGridRow'>            <Setter Property='Visibility' Value='{Binding IsVisible, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter="Collapsed", Mode=TwoWay}' />        </Style>    <DataGrid.Columns>        <StaticResource ResourceKey='dgPath' />        <StaticResource ResourceKey='dgStatus' />        <StaticResource ResourceKey='dgLock' />    </DataGrid.Columns>    <DataGrid.ItemContainerStyle>        <StaticResource ResourceKey='dgShowHideRow' />    </DataGrid.ItemContainerStyle></DataGrid>
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信