我有一个像树一样的结构(包含节点和边),我想在单击某个节点时,一个带有样式的按钮栏滑出(从节点),其中包含最多2-4个按钮。单击窗口的任何其他部分时,该栏应滑入。这必须遵循MVVM模式,所以我理解,按钮栏必须是绑定到特定节点的ViewModel的自定义控件。但是,我不知道如何实现滑入滑出效果。任何关于这方面的指导/指示都将不胜感激。
致以敬意,
发布于 2012-05-09 18:58:41
您可以将自定义控件放在Popup控件中。然后,您可以将PopupAnimation设置为Slide,这将导致控件滑入视图。
下面的XAML定义了一个弹出式窗口,它滑入ToggleButton控件旁边的视图中。弹出窗口是在按钮被切换时打开的-你需要改变这个行为,这样当你的节点被点击时弹出窗口就会打开。当弹出窗口失去焦点时,它将关闭。
<ToggleButton x:Name="toggleButton>Click to show</ToggleButton>
<Popup IsOpen="{Binding ElementName=toggleButton, Path=IsChecked, Mode=TwoWay}"
PlacementTarget="{Binding ElementName=toggleButton}"
StaysOpen="False"
Placement="Right"
PopupAnimation="Slide">
<!-- Your custom control goes here -->
</Popup>
您还可以使用其他动画效果-淡入淡出和滚动。如果你需要一些更复杂的东西,你需要考虑设置一个StoryBoard。
https://stackoverflow.com/questions/10514494
复制相似问题