WP 8.1 XAML:值不在预期范围内

WP 8.1 XAML:值不在预期范围内,xaml,exception,runtime,windows-phone-8.1,commandbar,Xaml,Exception,Runtime,Windows Phone 8.1,Commandbar,我在Windows Phone 8.1运行时应用程序中遇到了一个恼人的错误。错误发生在我在页面上定义命令栏的地方。该条自应用程序创建以来就一直存在,但现在设计者决定将其设置为错误。它将错误报告为“值不在预期范围内”。代码如下: <Page.BottomAppBar> <!-- ERROR STARTS HERE --><CommandBar x:Name="ButtonBar" Background="{StaticResource StrikeDistan

我在Windows Phone 8.1运行时应用程序中遇到了一个恼人的错误。错误发生在我在页面上定义命令栏的地方。该条自应用程序创建以来就一直存在,但现在设计者决定将其设置为错误。它将错误报告为“值不在预期范围内”。代码如下:

<Page.BottomAppBar>
    <!-- ERROR STARTS HERE --><CommandBar x:Name="ButtonBar" Background="{StaticResource StrikeDistanceThemeBrush}" Foreground="{StaticResource StrikeDistanceForegroundBrush}" BorderBrush="White">
        <CommandBar.SecondaryCommands>
            <AppBarButton x:Name="SettingsButton" Label="settings" Click="SettingsButton_Click"/>
            <AppBarButton x:Name="AboutButton" Label="about" Click="AboutButton_Click"/>
            <AppBarButton x:Name="AppsButton" Label="more apps"/>
            <AppBarButton x:Name="RateButton" Label="rate+review"/>
        </CommandBar.SecondaryCommands>
        <AppBarButton x:Name="CalculateButton" Label="calculate" Click="CalculateButton_Click" Icon="Calculator"/>
        <AppBarButton x:Name="ClearAllButton" Icon="Clear" Label="clear all" Click="ClearAllButton_Click"/>
        <AppBarButton x:Name="HelpButton" Icon="Help" Label="help"/>
    </CommandBar><!-- ERROR ENDS HERE -->
</Page.BottomAppBar>

此外,CommandBar在调试应用程序时确实会出现,但通常会被轻推的元素(例如我的AdDuplex控件)不会被移动。到目前为止,这些问题还没有解决:

  • Visual Studio重新启动
  • 计算机重启
  • 创建新的命令栏

谢谢你的帮助

不知道这是否有帮助,或者您是否已经尝试过,但您可以删除Visual Studio阴影缓存。每当我尝试其他任何方法都没有成功时,我就会使用这个技巧

阴影缓存位于此处:

%LOCALAPPDATA%\Microsoft\VisualStudio\12.0[此数字将根据您的Visual Studio版本而更改]\Designer\ShadowCache

关闭Visual Studio,删除此文件夹中的所有内容,然后重新启动Visual Studio。我创建了一个方便的小批量文件,可以执行它来节省时间


希望这能有所帮助。

原因可能有很多。我会从头开始重新创建命令栏,慢慢地一次添加一个按钮,直到您能够缩小导致错误的确切原因。我知道,它在
之后立即启动。好的,那么你的意思是重现错误所需要的就是只使用这个XAML:
?你完全正确。这真的很奇怪。我过去也有过类似的神秘XAML设计器错误,但我不记得是什么解决了它们。除了错误消息外,设计器是否完全不显示?有堆栈跟踪吗?你看过了吗?尝试删除*.suo、*.settings和其他可由VS重新创建的文件,然后重新启动VS(首先是备份解决方案)。