Windows phone 8.1 Windows Phone MenyFlyout崩溃
我的Windows Phone应用程序中有两个应用程序栏按钮。让我们叫他们Button1和Button2。每个按钮都显示一个带有某些项目的Windows phone 8.1 Windows Phone MenyFlyout崩溃,windows-phone-8.1,Windows Phone 8.1,我的Windows Phone应用程序中有两个应用程序栏按钮。让我们叫他们Button1和Button2。每个按钮都显示一个带有某些项目的菜单out。问题很简单。轻触按钮1时,会出现相应的菜单out。如果在打开按钮1的deMenuFlyout时点击按钮2,应用程序将崩溃,出现“严重故障”异常。如果一个MenuFlyout打开,我点击它的外部,然后按下另一个MenuFlyout的按钮,它就会工作。当点击另一个按钮时,我试图对代码隐藏一个菜单输出,但仍然崩溃。有什么想法吗?提前感谢。以下是第一个按钮
菜单out
。问题很简单。轻触按钮1时,会出现相应的菜单out
。如果在打开按钮1的deMenuFlyout
时点击按钮2,应用程序将崩溃,出现“严重故障”异常。如果一个MenuFlyout
打开,我点击它的外部,然后按下另一个MenuFlyout
的按钮,它就会工作。当点击另一个按钮时,我试图对代码隐藏一个菜单输出
,但仍然崩溃。有什么想法吗?提前感谢。以下是第一个按钮的代码:
private void SelectButton_Click(object sender, RoutedEventArgs e)
{
if (menuFlyout != null)
{
menuFlyout.Items.Clear();
for (int i = 0; i < listSource.View.Count; i++)
{
flyoutItem = new MenuFlyoutItem();
flyoutItem.Text = this.listSource.View[i].ToString();
flyoutItem.FontSize = 16;
flyoutItem.FlowDirection = Windows.UI.Xaml.FlowDirection.LeftToRight;
flyoutItem.Click += flyoutItem_Click;
menuFlyout.Items.Add(flyoutItem);
}
menuFlyout.ShowAt(CmdBar);
}
}
private void SelectButton\u单击(对象发送者,路由目标)
{
if(menuFlyout!=null)
{
menuFlyout.Items.Clear();
for(int i=0;i
这是另一个按钮:
private void FilterButton_Click(object sender, RoutedEventArgs e)
{
if (filterFlyout != null)
{
filterFlyout.Items.Clear();
for (int i = 0; i < _filterList.Count; i++)
{
FilterItem = new MenuFlyoutItem();
FilterItem.Text = _filterList[i];
FilterItem.FontSize = 16;
FilterItem.FlowDirection = Windows.UI.Xaml.FlowDirection.LeftToRight;
FilterItem.Click += FilterItem_Click;
filterFlyout.Items.Add(FilterItem);
}
filterFlyout.Items.Add(new MenuFlyoutItem());
filterFlyout.ShowAt(CmdBar);
}
}
private void filter按钮单击(对象发送器,路由目标)
{
如果(filterFlyout!=null)
{
filterFlyout.Items.Clear();
对于(int i=0;i<\u filterList.Count;i++)
{
FilterItem=新菜单实用项();
Text=_filterList[i];
FilterItem.FontSize=16;
FilterItem.FlowDirection=Windows.UI.Xaml.FlowDirection.LeftToRight;
FilterItem.Click+=FilterItem\u Click;
filterFlyout.Items.Add(FilterItem);
}
添加(新的MenuFlyoutItem());
filterFlyout.ShowAt(CmdBar);
}
}
下面是按钮的xaml:
<Page.BottomAppBar>
<CommandBar x:Name="CmdBar" Background="#F0A30A" Foreground="Black">
<AppBarButton x:Uid="SelectButton" x:Name="SelectButton" Icon="Calendar" Label="day filter" Click="SelectButton_Click">
<AppBarButton.Flyout>
<MenuFlyout x:Name="menuFlyout">
<MenuFlyout.MenuFlyoutPresenterStyle>
<Style TargetType="MenuFlyoutPresenter">
<Setter Property="BorderBrush" Value="Blue"/>
<Setter Property="BorderThickness" Value="5"/>
</Style>
</MenuFlyout.MenuFlyoutPresenterStyle>
<MenuFlyoutItem x:Name="flyoutItem" Background="Black" Click="flyoutItem_Click" Margin="0,0,20.833,0"/>
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton x:Uid="FilterButton" x:Name="FilterButton" Icon="Clock" Label="time filter" Click="FilterButton_Click">
<MenuFlyout x:Name="filterFlyout">
<MenuFlyout.MenuFlyoutPresenterStyle>
<Style TargetType="MenuFlyoutPresenter">
<Setter Property="BorderBrush" Value="Blue"/>
<Setter Property="BorderThickness" Value="5"/>
</Style>
</MenuFlyout.MenuFlyoutPresenterStyle>
<MenuFlyoutItem x:Name="FilterItem" Click="FilterItem_Click" Margin="0,0,20.833,0"/>
</MenuFlyout>
</AppBarButton>
</CommandBar>
</Page.BottomAppBar>
您可以共享任何代码来重现问题吗?