c# - 将 DataGrid 可见性与其自己的 (ItemSource.Count > 0) Silverlight MVVM 绑定(bind)

标签 c# wpf silverlight mvvm datagrid

正如标题所示,当它的 itemsource 有 0 行时,我想隐藏我的网格。

<sdk:DataGrid Name="RegionDataGrid" Visibility="{Binding <!-- WHAT_SHOULD_COME_HERE -->}" AutoGenerateColumns="False" VerticalAlignment="Top" IsReadOnly="False" Height="Auto" Width="Auto" >

最佳答案

首先你需要一个转换器,它会在 List 为空时返回 Collapsed。

public class EmptyCollectionConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        ICollection list = (ICollection)value;

        if (list == null)
            return Visibility.Collapsed;

        return list.Count != 0 ? Visibility.Visible : Visibility.Collapsed;
    }

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

然后你可以使用相对来源 绑定(bind)值 本人 绑定(bind) ItemsSource,
<sdk:DataGrid Visibility="{Binding ItemsSource, RelativeSource={RelativeSource Self}, Converter={StaticResource EmptyCollectionConverter}}" />

关于c# - 将 DataGrid 可见性与其自己的 (ItemSource.Count > 0) Silverlight MVVM 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352215/

相关文章:

c# - openxml spreadsheat 另存为

c# - 如果 XAML 中的字符串太长,则自动在标签中下一行

wpf - 将值从百分比转换为不透明度

c# - 有没有类似于 Silverlight 的 AutomationFactory for .NET 的类?

c# - 查询 XML 文件并创建文本文件

c# - 如何正确设置用于调试的 silverlight 应用程序?

c# - 无法从测试项目访问 System.Web.Security.Membership 创建状态?

c# - ASP.Net MVC 中模型启动的数据绑定(bind)(更新 UI)

silverlight - 为什么我的 MEF 使用不符合 CLS?

Javascript 可折叠菜单在 Silverlight 上出现时不可见