C# Windows Phone 8文本块
如果Windows Phone 8中没有文本,如何隐藏文本块C# Windows Phone 8文本块,c#,xaml,windows-phone-8,C#,Xaml,Windows Phone 8,如果Windows Phone 8中没有文本,如何隐藏文本块 <StackPanel> <TextBlock Text="{Binding Name}" FontSize="22" Margin="0,5,10,0" TextWrapping="NoWrap" TextAlignment="Center" TextTrimming="WordEllipsis" /> <Image Source="{Binding Icon}" MaxWidth="3
<StackPanel>
<TextBlock Text="{Binding Name}" FontSize="22" Margin="0,5,10,0" TextWrapping="NoWrap" TextAlignment="Center" TextTrimming="WordEllipsis" />
<Image Source="{Binding Icon}" MaxWidth="36" MaxHeight="36" HorizontalAlignment="Left" Margin="10,-33,10,10" Stretch="Fill"/>
<TextBlock Text="{Binding Description}" FontSize="14" Margin="10,0,10,5" MaxHeight="60" TextWrapping="Wrap" TextTrimming="WordEllipsis" />
</StackPanel>
我想隐藏文本块“描述”,如果里面没有任何文本。这怎么可能呢
它是一个多“viewmodel”文本块,因此它没有名称,无法单独检查,因为每5-15秒加载超过20个文本块的性能问题。您需要创建一个分析字符串长度的IValueConverter
public class HideEmptyStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var input = (string)value;
return string.IsNullOrWhiteSpace(input) ? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
将转换器的实例添加到页面的资源中,然后使用该转换器将可见性属性绑定到描述
<TextBlock Text="{Binding Description}" Visibility="{Binding Description, Converter={StaticResource HideEmptyStringConverter}}" FontSize="14" Margin="10,0,10,5" MaxHeight="60" TextWrapping="Wrap" TextTrimming="WordEllipsis" />