3

我在 WPF 中有以下布局

<grid>
<row height=auto>
<border>
<listbox>
<border?
</row>
<row height=*>
<othercontent>
</row>
</grid>

使用 MVVM 并绑定列表框 itemsource。我在网格中使用 wrapPanel,并且禁用了滚动,因此网格行高将根据列表框内容增长和缩小。这一切都很好。

我想要的是能够为列表框(或包含它的边框,或具有自动高度的网格行)的增长和收缩设置动画。我应该使用什么元素 - 边框上的 SizeChanged 触发器?

此外,当我的 ItemsSource 更改时,我希望我的列表框项目淡出,然后调整大小,然后新项目淡入。

非常感谢任何帮助。谢谢,克里斯

4

1 回答 1

0

我认为您需要创建自己的 WrapPanel。也许已经有一个第三方控件可以满足您的需求。

不确定如何做到这一点。但是一个自定义包装面板。在尺寸更改时,检查行上是否有空间放置物品。如果是这样,请执行将动画项目位置的故事板。

还要看看视觉状态管理器。如果使用流体布局,您将能够为没有动画的东西制作动画。就像将 uielement 从一个网格列移到另一个。

不确定这是否有帮助。

于 2013-01-23T18:08:54.587 回答