[英]Binding DataGrid visibility with its own (ItemSource.Count > 0) Silverlight MVVM
如标题所示,当网格的itemsource有0行时,我想隐藏网格。
<sdk:DataGrid Name="RegionDataGrid" Visibility="{Binding <!-- WHAT_SHOULD_COME_HERE -->}" AutoGenerateColumns="False" VerticalAlignment="Top" IsReadOnly="False" Height="Auto" Width="Auto" >
First you need a converter which will return Collapsed when List is empty. 首先,您需要一个当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();
}
}
Then you can use RelativeSource binding with value Self to bind the ItemsSource, 然后,您可以使用带有值Self的 RelativeSource绑定来绑定ItemsSource,
<sdk:DataGrid Visibility="{Binding ItemsSource, RelativeSource={RelativeSource Self}, Converter={StaticResource EmptyCollectionConverter}}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.