如果没有文本,如何在Windows Phone 8中隐藏TextBlock?StackPanelTextBlock Text={Binding Name} FontSize=22 Margin=0,5,10,0 TextWrapping=NoWrap TextAlignment=Center TextTrimming=WordEllipsis...
如果没有文本,如何在Windows Phone 8中隐藏TextBlock?
<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();
}
}
将转换器的实例添加到页面资源中,然后使用该转换器将Visibility属性绑定到描述…
<TextBlock Text="{Binding Description}" Visibility="{Binding Description, Converter={StaticResource HideEmptyStringConverter}}" FontSize="14" Margin="10,0,10,5" MaxHeight="60" TextWrapping="Wrap" TextTrimming="WordEllipsis" />
沃梦达教程
本文标题为:C#-Windows Phone 8 TextBlock
猜你喜欢
- C# Assembly.Load案例详解 2023-04-28
- 解析C#网络编程中的Http请求 2023-05-26
- Linux安装不同版本.netCore的shell命令 2023-09-27
- c# 区分几种定时器(timer) 2023-03-04
- WPF使用DrawingContext实现二维绘图 2023-06-21
- 详解Unity使用ParticleSystem粒子系统模拟药水在血管中流动(粒子碰撞) 2023-04-15
- 解答“60k”大佬的19道C#面试题(上) 2023-02-25
- Unity ScrollView实现无限滑动效果 2023-04-27
- C#网络编程中常用特性介绍 2023-05-22
- C# 执行Javascript脚本的方法步骤 2023-05-12