Xaml 如何更改弹出菜单的打开动画
我有一个菜单弹出按钮,它在ListView项目上打开。默认打开的动画非常慢,有没有办法更改弹出菜单的默认动画 编辑 我使用下面的依赖属性在列表视图项上显示上下文菜单,它工作正常,但当显示上下文菜单时,它会稍微挤压整个视图。我不想在上下文菜单打开时挤压页面Xaml 如何更改弹出菜单的打开动画,xaml,windows-phone-8.1,win-universal-app,Xaml,Windows Phone 8.1,Win Universal App,我有一个菜单弹出按钮,它在ListView项目上打开。默认打开的动画非常慢,有没有办法更改弹出菜单的默认动画 编辑 我使用下面的依赖属性在列表视图项上显示上下文菜单,它工作正常,但当显示上下文菜单时,它会稍微挤压整个视图。我不想在上下文菜单打开时挤压页面 public class OpenMenuFlyoutAction:DependencyObject,IAction { public object Execute(object sender, object parameter)
public class OpenMenuFlyoutAction:DependencyObject,IAction
{
public object Execute(object sender, object parameter)
{
if (!Global.IsDisabledShowContextMenuOnListView)
{
FrameworkElement senderElement = sender as FrameworkElement;
FlyoutBase flyoutBase = FlyoutBase.GetAttachedFlyout(senderElement);
flyoutBase.ShowAt(senderElement);
}
return null;
}
}
列表项数据模板
<DataTemplate x:Key="MemberListItemDataTemplate">
<Grid Width="{Binding ElementName=searchView,Path=ActualWidth}" Background="{Binding ItemBackground}"
Margin="0,0,0,20" Height="auto">
<i:Interaction.Behaviors>
<icore:EventTriggerBehavior EventName="Holding">
<helpers:OpenMenuFlyoutAction />
</icore:EventTriggerBehavior>
</i:Interaction.Behaviors>
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="share" RequestedTheme="Dark" Command="{Binding ElementName=pageMyProfile, Path=DataContext.ShareMemberDetails}" CommandParameter="{Binding item99}" />
<MenuFlyoutItem Text="reomve from members" RequestedTheme="Dark" Command="{Binding ElementName=pageMyProfile, Path=DataContext.RemoveMember}" CommandParameter="{Binding item99}" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
...
</DataTemplate>
...
是的,您需要在您的资源中创建一个新样式的目标菜单OutPresenter
<Style TargetType="MenuFlyoutPresenter">
如果您从程序文件(x86)\Windows Phone Kits\8.1\Include\abi\Xaml\Design\generic.Xaml)复制它,您会注意到里面已经有一些故事板,用于各种视觉状态,您需要更改它们以获得不同的动画
我在我的博客文章中写了一些非常类似的东西请添加您的xaml代码。非常感谢@igrali,现在可以更改弹出按钮上的动画了。我还有一个问题。我在listview保持事件上使用弹出按钮(请参阅问题更新),当菜单弹出按钮默认打开时,所有页面都会稍微挤压。我希望当弹出型按钮竖立时,页面不会挤压。离这儿远吗