C# WPF XceedDataGrid使用datatrigger折叠/隐藏行
我正在使用xceeddatagrid库()中的DataGridControl。我试图做的是基于类模型中的属性隐藏/折叠datarow。我正在尝试使用数据触发器。我的问题是DataGrid将从datarow中删除数据,但不会删除该行的物理空间。所以它留下了一个空白行。我尝试了一个常规的开箱即用的.NETDataGrid,我没有问题。我去掉了所有的款式,仍然有这个问题C# WPF XceedDataGrid使用datatrigger折叠/隐藏行,c#,wpf,xceed-datagrid,C#,Wpf,Xceed Datagrid,我正在使用xceeddatagrid库()中的DataGridControl。我试图做的是基于类模型中的属性隐藏/折叠datarow。我正在尝试使用数据触发器。我的问题是DataGrid将从datarow中删除数据,但不会删除该行的物理空间。所以它留下了一个空白行。我尝试了一个常规的开箱即用的.NETDataGrid,我没有问题。我去掉了所有的款式,仍然有这个问题 xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" <x
xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
<xcdg:DataGridControl x:Name="dgr"
ItemsSource="{Binding Path=.Data}"
AutoCreateColumns="False">
<xcdg:DataGridControl.Resources>
<Style TargetType="{x:Type xcdg:DataRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=.IsTrue}" Value="true">
<Setter Property="Visibility" Value="Collapsed" />
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</xcdg:DataGridControl.Resources>
<xcdg:DataGridControl.Columns>
<xcdg:Column FieldName="IsToday" Title="Today" Width="40" />
<xcdg:Column FieldName="Name" Title="Name" Width="70" />
<xcdg:Column FieldName="Address" Title="Address" Width="40" />
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>
xmlns:xcdg=”http://schemas.xceed.com/wpf/xaml/datagrid"
查看有关可见性枚举的信息。您需要的值似乎已崩溃:
不要显示元素,也不要在布局中为其保留空间
我不确定您是否需要DataTrigger绑定路径中的“.”。我相信每个DataRow的IsTrue属性都将在没有点的情况下被隐式访问
除此之外,我看到的主要问题是DataTrigger中有两个相同属性的setter。根据您的描述,数据行的可见性似乎设置为“折叠”,但随后设置为“隐藏”,这与您描述的问题完全相同:
不显示元素,但在布局中为元素保留空间
因此,我认为解决方案是删除冲突的可见性设置器。查看可见性枚举。您需要的值似乎已崩溃:
不要显示元素,也不要在布局中为其保留空间
我不确定您是否需要DataTrigger绑定路径中的“.”。我相信每个DataRow的IsTrue属性都将在没有点的情况下被隐式访问
除此之外,我看到的主要问题是DataTrigger中有两个相同属性的setter。根据您的描述,数据行的可见性似乎设置为“折叠”,但随后设置为“隐藏”,这与您描述的问题完全相同:
不显示元素,但在布局中为元素保留空间
因此,我认为解决方案是删除冲突的可见性设置器