UWP App在构建10240中单击包含弹出按钮的按钮时崩溃

时间:2016-07-29 07:05:29

标签: c# xaml win-universal-app windows-10 uwp

我有一个带有弹出菜单的按钮,当用户点击此按钮应用程序崩溃时。它在构建版本10586中工作得很好。

获取错误:“无法分配给属性'Windows.UI.Xaml.FrameworkElement.MinWidth'”

以下是代码:

 <Button x:Name="btnMore"
                    Style="{StaticResource DesktopAppBarButtonStyle}">
                <StackPanel Orientation="Horizontal">
                    <SymbolIcon Symbol="More"></SymbolIcon>
                </StackPanel>
                <Button.Flyout>
                    <MenuFlyout Placement="Bottom">
                        <MenuFlyoutItem Text="Menu1"></MenuFlyoutItem>
                        <MenuFlyoutItem Text="Menu2"></MenuFlyoutItem>
                        <MenuFlyoutItem Text="Menu3"></MenuFlyoutItem>
                    </MenuFlyout>
                </Button.Flyout>
            </Button>

在我的DesktopAppBarButtonStyle中,我有下面的行导致错误:

MinWidth="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.FlyoutContentMinWidth}"

1 个答案:

答案 0 :(得分:2)

将错误精确定位到您的风格是解决问题的第一步。根据{{​​3}},FlyoutContentMinWidth属性是10586中的新属性(几乎在底部,实际上似乎是在10532和10547之间添加)。

如果它是C#代码功能,您可以使用this diff API检查功能的可用性来解决您的问题,但由于它是XAML,您必须设置您的最低版本为10586。

  

添加到generic.xaml但在a中不可用的任何新资源键   以前的版本。运行时使用的generic.xaml版本是   由设备运行的操作系统版本确定。你不能使用   运行时API检查以确定是否存在XAML资源。所以,   您必须只使用最小可用的资源键   您的应用支持的版本或XAMLParseException将导致您的   应用程序在运行时崩溃。

来源:Windows.Foundation.Metadata.ApiInformation