1

对于这种情况,让我们显示有关电子邮件的简短信息,其中包含发件人、主题和正文。

我构造了 2 个不同DataTemplate的:一个显示发件人和主题,另一个显示发件人、主题和正文的前 3 个非空行。

:如何根据 WPF 可以提供的屏幕空间大小来选择数据模板?如果这不是正确的方法,我如何根据可用大小显示短版本视觉表示与长版本视觉表示?


我做了什么:我玩过DataTemplateSelector但没有找到达到目标的方法。选择器似乎仅根据数据本身进行操作。

我创建了一个控件来显示电子邮件消息并覆盖Measure(size)Arrange(size). 在Measure(size)我可以做的:

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

我知道 res2 是否小于 res1,这意味着我需要渲染短版本视觉表示;但我此刻被困住了......

4

0 回答 0