私は、C#WPFアプリケーションでGridViewColumnでListViewを使用しています。サイズ変更不可能なGridViewColumnを設定する
一部の列では、Visibility Manager(this one)を使用しています。しかし、列1と3が表示され、列2が表示されていない場合、列1のサイズを変更すると、カーソルがあまりにも右の場合に列2が表示されます。
IsVisibleがfalseの場合、列のサイズ変更(および非アクティブカーソル)を無効にすることはできますか?
私はthat postを見ましたが、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
}
}
}
それは、プログラムの列からグリッパーを削除することは可能ですか? App.xamlで
:GridViewColumnVisibilityManager.csで
<Style x:Key="disabledColumn" TargetType="GridViewColumnHeader">
<Setter Property="IsEnabled" Value="False"/>
</Style>
一つは 内部そのテンプレート