Silverlight 给文本块留一个边距,但仅当有内容时
我在Silverlight 给文本块留一个边距,但仅当有内容时,silverlight,xaml,windows-phone-7,Silverlight,Xaml,Windows Phone 7,我在数据模板的堆栈面板中有3个文本块 这个想法是,格式应该像“abc”,在文本块之间有空格,但是文本块“a”和“b”可能是空的,所以我最终得到了类似“c”的东西(在文本块c之前有两个空格)。如何确保只有在有内容的情况下才有边距?向边距添加一个转换器,并将其绑定到Text属性。如果文本内容为空,则让转换器将边距发送到统一厚度的0。向边距添加转换器,并将其绑定到文本属性。如果文本内容为空,则让转换器将边距发送到统一厚度的0。如果TextBlock的可见性设置为折叠,则不会显示边距。因此,如果文本为空
数据模板的堆栈面板中有3个文本块
这个想法是,格式应该像“abc”,在文本块之间有空格,但是文本块
“a”和“b”可能是空的,所以我最终得到了类似“c”的东西(在文本块
c之前有两个空格)。如何确保只有在有内容的情况下才有边距?向边距添加一个转换器,并将其绑定到Text
属性。如果文本内容为空,则让转换器将边距发送到统一厚度的0
。向边距添加转换器,并将其绑定到文本属性。如果文本内容为空,则让转换器将边距发送到统一厚度的0
。如果TextBlock
的可见性设置为折叠
,则不会显示边距。因此,如果文本
为空,我想您可以使用StringToVisibilityConverter
将其可见性
设置为折叠
示例
首先,您需要创建一个这样的转换器
public class StringToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return Visibility.Collapsed;
if (value != null && string.IsNullOrWhiteSpace(value.ToString()))
return Visibility.Collapsed;
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
然后,您需要将此转换器包含到xaml中
<converters:StringToVisibilityConverter x:Key="StringToVisibilityConverter " />
有关如何使用转换器的更多信息,请参阅
希望有帮助。:) 如果文本块
的可见性
设置为折叠
,则将不显示边距
。因此,如果文本
为空,我想您可以使用StringToVisibilityConverter
将其可见性
设置为折叠
示例
首先,您需要创建一个这样的转换器
public class StringToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return Visibility.Collapsed;
if (value != null && string.IsNullOrWhiteSpace(value.ToString()))
return Visibility.Collapsed;
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
然后,您需要将此转换器包含到xaml中
<converters:StringToVisibilityConverter x:Key="StringToVisibilityConverter " />
有关如何使用转换器的更多信息,请参阅
希望有帮助。:) 将文本块放在网格中,使其位置固定。将转换器添加到martin并将其绑定到text属性,如果该文本的长度为零,则将边距设置为零。将文本块放入网格中,以便其位置固定。将转换器添加到martin并将其绑定到text属性,如果该文本的长度为零,则将边距设置为零。您有样本吗?我不太习惯xaml所以我有点生疏你有样品吗?我不太习惯xaml,所以我有点生疏了