相关疑难解决方法(0)

EmptyListToVisibilityConverter

我正在尝试为WPF做一个"空列表到可见性转换器".这是一个IValueConverter,它接受一个对象(应该是一个列表),如果列表为空(或者如果传递的对象为null),它应返回Visibility.Collapsed; 如果列表不为空,则应返回Visibility.Visibile;

我打算将它用于数据网格.计划是每当给予ItemsSource的列表是空列表或null时,使datagrid不可见(折叠).

<my:DataGrid 
                    Name="dataGridAuxiliaryTools"
                    Style="{StaticResource DataGridStyle}"
                    CellStyle="{StaticResource DataGridCellStyle}"
                    ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
                    ItemsSource="{Binding Path=Items}"
                    IsReadOnly="False"
                    Visibility="{Binding Path=Items, 
                    Converter={StaticResource emptyListToVisibilityConverter}}"
 </my:DataGrid>
Run Code Online (Sandbox Code Playgroud)

我写了EmptyListToVisibilityConverter如下:

public class EmptyListToVisibilityConverter : IValueConverter
    {
    public object Convert(object value, Type targetType, object parameter,
                          CultureInfo culture)
    {
        if (value == null)
        {
            return Visibility.Collapsed;
        }
        else if (value is IList<Object>)
        {
            if ((value as IList<Object>).Count == 0)
            {
                return Visibility.Collapsed;
            }
            else
            {
                return Visibility.Visible;
            }
        }
        else
        {
            return Visibility.Visible;
        }
    }

    public object ConvertBack(object value, Type targetType, object …
Run Code Online (Sandbox Code Playgroud)

wpf binding

4
推荐指数
3
解决办法
5776
查看次数

标签 统计

binding ×1

wpf ×1