0

私は Expression Blend 4 で作業しており、Windows Phone 7.1 向けに開発しています。Wrapプロパティに次のようなものを実装したいと思いWrapWithOverflowますが、このオプションは Blend ヘルプ ファイルによると WPF でのみ使用できます。使用できる動作はWrapNoWrap.

WrapWithOverflow単語を新しい行に折り返しますが、単語がより長い場合、TextBlock単語を改行に分割するのではなく、短く切り取ります。

XAML を使用して、できれば Blend を使用してこれをどのように実装しますか?

4

1 に答える 1

0

だから私は一種の回避策を持っています。

  1. クリッピング パスを設定します。Rectangleと同じサイズを作成しTextBlock、最初のものを選択してTextBlockから Ctrl を押しながらRectangle2 番目のものを選択し、[オブジェクト -> パス -> クリッピング パスの作成] を選択します。
  2. IValueConverterVisual Studio のコード ビハインドに を作成します(テキストがデータバインドされているため)。テキストがデータ バインドされていない場合は、手動でフォーマットします。コンバーターはスペースの代わりに改行を挿入します。これはさまざまな理由で理想的ではありませんが、私の目的には十分です。私が最終的に得たコードは一番下に示されています。
  3. 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;    
    }
}
于 2012-10-17T21:46:02.257 に答える