我在 Expression Blend 4 中工作并为 Windows Phone 7.1 开发。我想为该Wrap
属性实现类似的东西,WrapWithOverflow
但是根据 Blend 帮助文件,此选项仅在 WPF 中可用 - 唯一可用的行为是Wrap
和NoWrap
。
WrapWithOverflow
将单词换行,但如果一个单词比它长,TextBlock
它会将其剪短,而不是将单词换行。
我将如何使用 XAML 并最好使用 Blend 来实现这一点?
我在 Expression Blend 4 中工作并为 Windows Phone 7.1 开发。我想为该Wrap
属性实现类似的东西,WrapWithOverflow
但是根据 Blend 帮助文件,此选项仅在 WPF 中可用 - 唯一可用的行为是Wrap
和NoWrap
。
WrapWithOverflow
将单词换行,但如果一个单词比它长,TextBlock
它会将其剪短,而不是将单词换行。
我将如何使用 XAML 并最好使用 Blend 来实现这一点?
所以我有一种解决方法。
Rectangle
与 相同的大小来执行此操作TextBlock
,选择第TextBlock
一个然后 Ctrl 选择Rectangle
第二个并选择“对象 -> 路径 -> 制作剪切路径”。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;
}
}