C#/ WPF:做一个GridViewColumn可见=假? [英] C#/WPF: Make a GridViewColumn Visible=false?

查看:789
本文介绍了C#/ WPF:做一个GridViewColumn可见=假?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道是否有以某种方式隐藏GridViewColumn这样一个选项:

Does anyone know if there is an option to hide a GridViewColumn somehow like this:

<ListView.View>
    <GridView>
        <GridViewColumn Header="Test" IsVisible="{Binding Path=ColumnIsVisible}" />
    </GridView>
<ListView.View>

非常感谢!

编辑:为了清楚

不幸的是,没有可见性性质。我正在寻找一种方式来创建。

Unfortunately, there is no "IsVisible" Property. I'm looking for a way to create that.

编辑:根据反馈的解决方案是这样的:

The solution based on the feedback looks like:

<GridViewColumn DisplayMemberBinding="{Binding Path=OptionColumn1Text}" 
                Width="{Binding Path=SelectedEntitiy.OptionColumn1Width}">
    <GridViewColumnHeader Content="{Binding Path=SelectedEntitiy.OptionColumn1Header}" IsEnabled="{Binding Path=SelectedEntitiy.OptionColumn1Width, Converter={StaticResource widthToBool}}" />
</GridViewColumn>

public class WidthToBooleanConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return (int)value > 0;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

感谢所有!

干杯

Thanks to all!
Cheers

推荐答案

编辑:反映修改后的问题。

Reflecting the modified question.

有关创建0宽度列是什么?写一个布尔值宽度的IValueConverter,这需要一个ColumnIsVisible作为ConverterParmeter?

What about creating a 0 width column? Write a Boolean to Width IValueConverter, that takes a ColumnIsVisible as the ConverterParmeter?

 public class BooleanToWidthConverter : IValueConverter {
        public object Convert(object value, Type targetType, 
                              object parameter, CultureInfo culture){
            return ((bool) parameter)? value : 0;
        }

        public object ConvertBack(object value, Type targetType, 
                                  object parameter, CultureInfo culture){
            throw new NotImplementedException();
        }
    }

是这样的:

<ListView .. >
 <ListView.Resources>
  <BooleanToWidthConverter x:Key="boolToWidth" />
 </ListView.Resources>

 <ListView.View>
    <GridView>
        <GridViewColumn 
                  Header="Test" 
                  Width=
      "{Binding Path=ColumnWidth, 
                Converter={StaticResource boolToVis}, 
                ConverterParameter=ColumnIsVisible}" />
    </GridView>
 <ListView.View>

这篇关于C#/ WPF:做一个GridViewColumn可见=假?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆