我有一个树状的结构(包含节点和边缘),我希望在点击某个节点时,一个样式的按钮栏滑出(从节点)包含最多2-4个按钮。单击窗口的任何其他部分时,栏应该滑入。这必须遵循MVVM模式,所以我理解,按钮栏必须是一个自定义控件,将绑定到特定节点的ViewModel。但是,我不知道如何实现幻灯片输入效果。 任何关于此的指导/指示将不胜感激。
的问候,
答案 0 :(得分:1)
您可以将自定义控件放在Popup控件中。然后,您可以将PopupAnimation设置为Slide,这将使您可以控制滑入视图。
以下XAML定义了一个Popup,它可以滑入ToggleButton控件旁边的视图中。切换按钮时弹出窗口 - 您需要更改此行为,以便在单击节点时弹出窗口。当Popup失去焦点时,它会关闭。
<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。