0

Silverlight5

当 DataGrid 中没有数据时,我试图让 TextBlock 可见。

在 DataGrid 中绑定什么?

当我如下绑定到可见性时,即使网格中没有数据,它也始终返回 true。

    <TextBlock Grid.Row="4" HorizontalAlignment="Center" Text="No User Accounts found." 
Visibility="{Binding ElementName=AccountGridT32, Path=Visibility, 
Converter={StaticResource NegateVisibilityConverter}}" />

    <Grid Grid.Row="5">
    <sdk:DataGrid x:Name="AccountGridT32" 
ItemsSource="{Binding Data, ElementName=AccountsDataSourceT32}" Grid.Column="0" Grid.Row="1" 
    ScrollViewer.HorizontalScrollBarVisibility="Auto" />
    </Grid>
4

1 回答 1

0

我所做的是将texblock的可见性绑定到列表框/网格的项目计数......

<TextBlock Grid.Row="4" HorizontalAlignment="Center" Text="No User Accounts found." 
Visibility="{Binding ItemsSource.Count, ElementName=AccountGridT32, Converter={StaticResource listCountToVis}, ConverterParameter=true}" />

我的转换器:

public class ListCountToVisibilityConverter : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value == null || !(value is int))
                return Visibility.Collapsed;

            bool booInvert = false;
            if (parameter is string) bool.TryParse((string)parameter, out booInvert);

            if (booInvert) return ((int)value) <= 0 ? Visibility.Visible : Visibility.Collapsed;
            else return ((int)value) > 0 ? Visibility.Visible : Visibility.Collapsed;


        }

        public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return null;
        }

        #endregion
    }
于 2012-10-30T18:24:22.413 回答