我有ListBox,其WrapPanel为ItemsPanelTemplate。我修改了ItemTemplate,以便我的项目显示为Tiles。
到目前为止,非常好。
我现在遇到的问题是,当我点击ListBox的一个项目时,我想要一个能让项目长大的动画,然后转到屏幕的中心,这样就行动了就像一个模态窗口,我可以在其中编辑我点击的项目的内容。
我怎样才能做到这一点?
提前致谢
答案 0 :(得分:0)
我通常使用my own custom popup control来做这种事情。它有一个内置动画,可以在弹出时将Popup扩展为完整大小,Popup是可视树的一部分,因此您可以在视觉树中随时放置它
<Grid x:Name="PopupParent">
<ListBox x:Name="TileListBox">
...
</ListBox>
<!-- Popup -->
<local:PopupPanel local:PopupParent="{Binding ElementName=PopupParent}"
local:PopupPanel.IsPopupVisible="{Binding IsPopupVisible}"
Content="{Binding PopupContent}">
<local:PopupPanel.Resources>
<DataTemplate DataType="{x:Type local:MyTileViewModel}">
<local:MyTileView />
</DataTemplate>
</local:PopupPanel.Resources>
</local:PopupPanel>
</Grid>