如何隐藏完整的DataGrid行?

时间:2017-07-07 06:53:30

标签: c# wpf visual-studio xaml datagrid

我有一个DataGrid,我可以从中添加和删除项目。这是我目前的代码:

  <DataGrid x:Name="ItemsToDo">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="Info>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding IsDone}" Value="True">
                                <Setter Property="Visibility" Value="Collapsed"/>
                            </DataTrigger>
                        </DataTemplate.Triggers>
                        <TextBlock Text="{Binding Description}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTemplateColumn Header="Deadline">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding IsDone}" Value="True">
                                <Setter Property="Visibility" Value="Collapsed"/>
                            </DataTrigger>
                        </DataTemplate.Triggers>
                        <TextBlock Text="{Binding InputDeadline}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>

但是当一行的两列都设置为折叠时,该行不会消失,但它看起来像这样: 第2条并没有完全消失

enter image description here

如何在不使用视图模型的情况下删除此行?有没有比能见度更好的财产?

1 个答案:

答案 0 :(得分:0)

您应该从细胞中删除<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <ImageView android:id="@+id/Chartimg" android:layout_width="50dip" android:layout_height="50dip" android:layout_margin="5dp" android:padding="5dp" android:src="@android:drawable/ic_menu_gallery" /> <TextView android:id="@+id/InfoView_ItemName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ellipsize="end" android:maxLines="1" android:text="Medium Textcbvvvccgcvcvcbcvbvvbcvbvcbvcb" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/IvItemID" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/InfoView_ItemName" android:layout_toRightOf="@id/Chartimg" android:textAppearance="?android:attr/textAppearanceSmall" /> <ImageView android:layout_width="30dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:scaleType="centerInside" android:src="@drawable/ic_action_next_item" /> </LinearLayout> </FrameLayout> &#39;模板并在整行上应用可见性触发器,而不是在单个单元格上。

例如:

DataTrigger