1

この場合、電子メールに関する短い情報を表示してみましょう。これには、送信者、件名、および本文があります。

2 つDataTemplateの異なる を作成します。1 つは送信者と件名を示し、もう 1 つは送信者、件名、および本文の最初の 3 つの空でない行を示します。

Q : WPF が提供できる画面領域の量に基づいてデータ テンプレートを選択するにはどうすればよいですか? それが適切なアプローチではない場合、使用可能なサイズに基づいて、短いバージョンの視覚的表現と長いバージョンの視覚的表現をどのように表示すればよいですか?


私がやったこと:私は遊んだDataTemplateSelectorが、目標に到達する方法を見つけられなかった. セレクターは、データ自体のみに基づいて動作するようです。

電子メール メッセージを表示するコントロールを作成し、オーバーライドMeasure(size)してArrange(size). 私Measure(size)ができること:

res1 = base.Measure(infSize); // non-restricted size
res2 = base.Measure(size);

res2 が res1 より小さいかどうかはわかっています。つまり、短いバージョンのビジュアル表現をレンダリングする必要があります。しかし、私はこの瞬間に立ち往生しています...

4

0 に答える 0