如何防止WPF Gridview列完全崩溃

时间:2019-01-18 13:48:14

标签: wpf wpf-controls

我在GridView中定义了Gridview列。我想在启用列重新排序的情况下防止网格列完全折叠。我试图将最小宽度设置为GridViewColumnHeader,但仍然可以看到GridViewColumn折叠了。

我试图设置IsHitTestVisible =“ False”,但是GridViewColumn无法实现。

1 个答案:

答案 0 :(得分:0)

最后,我能够设置列大小,以便在拖动时将它们折叠起来。 这是我在后面的代码中添加的示例代码。通过xaml可能有其他方法,但是我没有办法实现。

 private void connectedReadersListView_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e)
        {
            Thumb senderAsThumb = e.OriginalSource as Thumb;
            GridViewColumnHeader header = senderAsThumb.TemplatedParent as GridViewColumnHeader;
            if (header.Content.ToString() == "System.Windows.Controls.Button: READ" && header.Column.ActualWidth < 60)
            {
                header.Column.Width = 60;
            }
            if (header.Content.ToString() == "System.Windows.Controls.Button: DISCONNECT" && header.Column.ActualWidth < 160)
            {
                header.Column.Width = 160;
            }

            if (header != null && header.Content != null)
            {
                switch (header.Content.ToString().Trim().ToLower())
                {
                    case "reader name":
                        if (header.Column.ActualWidth < 150)
                        {
                            header.Column.Width = 150;
                        }
                        break;
                    case "model":
                        if (header.Column.ActualWidth < 50)
                        {
                            header.Column.Width = 50;
                        }
                        break;