我在我的C# WPF应用程序中使用ListView和GridViewColumn。
对于某些列,我使用可见性管理器(这个)。但是当列1和3可见而列2不可见时,如果光标太靠右,则调整列1会使列2出现。
如果IsVisible为false,是否可以禁用列的调整大小(并使光标无效)?
我看到了那篇文章,但我无法在GridViewColumnVisibilityManager
上使用它,我的列并不总是固定的。
GridViewColumnVisibilityManager
的一部分很有意思:
private static void OnIsVisibleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
GridViewColumn gc = d as GridViewColumn;
if (gc == null)
return;
if (GetIsVisible(gc) == false)
{
originalColumnWidths[gc] = gc.Width;
gc.Width = 0;
// Fix Size there
}
else
{
if (gc.Width == 0)
{
gc.Width = originalColumnWidths[gc];
//UnFix
}
}
}
如何通过编程从列中删除抓手?
一种方法是重新设计GridViewColumnHeader以从其模板中删除抓手。