Accordion 高度问题中的WPF DataGrid

标签 wpf xaml datagrid height wpftoolkit

我正在使用最新的 WPF Toolkit但是当我将大型记录集绑定(bind)到 DataGrid 时遇到了高度问题在 AccordionItem 内元素。 Accordion 的高度本身可以很好地扩展,但 DataGrid在 Accordion 控件内部没有得到 ScrollBar或以任何方式受到限制,以便隐藏记录。

我知道我很可能遗漏了一些非常简单的东西(比如从 DataGrid 的高度属性到 Accordion 的绑定(bind),但这看起来很乱)

这是代码的精简版本(是的,如果您绑定(bind)在大记录集中,这会出现同样的问题)

<UserControl>
<layouttoolkit:Accordion x:Name="ReportSelector" HorizontalAlignment="Stretch">
    <layouttoolkit:AccordionItem Header="grid 1">
        <dg:DataGrid
         AutoGenerateColumns="False"
         CanUserAddRows="False"
         CanUserDeleteRows="False"
         SelectionMode="Single">
...
            </dg:DataGrid.Columns>
        </dg:DataGrid>

    </layouttoolkit:AccordionItem>
    <layouttoolkit:AccordionItem Header="grid 2">
        <dg:DataGrid
         AutoGenerateColumns="False"
         CanUserAddRows="False"
         CanUserDeleteRows="False"
         SelectionMode="Single">
...
            </dg:DataGrid.Columns>
        </dg:DataGrid>

    </layouttoolkit:AccordionItem>
    <layouttoolkit:AccordionItem Header="grid 3">
        <dg:DataGrid
         AutoGenerateColumns="False"
         CanUserAddRows="False"
         CanUserDeleteRows="False"
         SelectionMode="Single">
...
            </dg:DataGrid.Columns>
        </dg:DataGrid>

    </layouttoolkit:AccordionItem>            
</layouttoolkit:Accordion>
</UserControl>

最佳答案

看起来我最初的想法是正确的 - 我能够解决这个问题的唯一方法是绑定(bind) MaxHeightDataGridActualHeight AccordionItem 的

将以下属性添加到每个 DataGrid成功了

MaxHeight="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type layouttoolkit:AccordionItem}},Path=ActualHeight}"

关于 Accordion 高度问题中的WPF DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444871/

相关文章:

c# - 如何在 WPF 中使用 MVVM 实现过滤器框

.net - WPF/分层架构问题 -

.net - 如何使元素能够在其容器外绘制?

c# - DataGrid中的矩形,绑定(bind)矩形的宽度值

c# - WPF 通过网格本身向 DataGrid 添加行

c# - 你如何在 WPF 的 Canvas 上画一条 1 像素粗的线

wpf - 展开/折叠WPF扩展器

WPF/XAML - 允许 ComboBox 具有不在 ItemsSource 中的 SelectedValue

c# - UWP 中的数据绑定(bind)不刷新

wpf - 绑定(bind)到 datacontext parent-WPF 的属性