Windows phone 7 如何在Windows Phone开发的文本块上实现类似WrapWithOverflow的行为?
我在Expression Blend 4中工作,并为Windows Phone 7.1进行开发。我想为Windows phone 7 如何在Windows Phone开发的文本块上实现类似WrapWithOverflow的行为?,windows-phone-7,xaml,expression-blend,Windows Phone 7,Xaml,Expression Blend,我在Expression Blend 4中工作,并为Windows Phone 7.1进行开发。我想为Wrap属性实现类似WrapWithOverflow的功能,但是根据混合帮助文件,此选项仅在WPF中可用-可用的唯一行为是Wrap和NoWrap WrapWithOverflow将单词包装到新行上,但如果单词比TextBlock长,则会将其剪短,而不是将单词拆分到新行上 我如何使用XAML实现这一点,最好使用Blend?因此我有一种解决方法 设置剪辑路径。为此,请创建一个与文本块大小相同的矩形,
Wrap
属性实现类似WrapWithOverflow
的功能,但是根据混合帮助文件,此选项仅在WPF中可用-可用的唯一行为是Wrap
和NoWrap
WrapWithOverflow
将单词包装到新行上,但如果单词比TextBlock
长,则会将其剪短,而不是将单词拆分到新行上
我如何使用XAML实现这一点,最好使用Blend?因此我有一种解决方法
文本块
大小相同的矩形
,先选择文本块
,然后按Ctrl键选择矩形
,然后选择“对象->路径->生成剪辑路径”IValueConverter
(因为文本是数据绑定的)。如果文本没有数据绑定,则手动设置格式。转换器在空格处插入换行符-由于各种原因,这并不理想,但对于我来说已经足够好了。我最后得到的代码显示在底部IValueConvertor
public class WordsOnNewlines : System.Windows.Data.IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo cultureInfo)
{
string s = (string)value;
return s.Replace(" ", System.Environment.NewLine);
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo cultureInfo)
{
return null;
}
}