【问题标题】:UWP SplitView Issue After Installing Visual Studio 2015.1安装 Visual Studio 2015.1 后的 UWP SplitView 问题
【发布时间】:2016-03-06 21:00:24
【问题描述】:

为 Visual Studio 2015 安装更新 1 后,用于 UWP 的 SplitView 控件在 Windows 10 上损坏。如您所知,SplitView 有 2 个子项,一个对象网格和窗格。

现在,XAML 错误提示“您无法将对象插入 SplitView”。

我正在尝试将对象网格移到 SplitView 之外。它在这种情况下运行。但是,网格无法适应 UI。

除此之外,当我尝试向页面添加新的 SplitView 控件时,它抛出了 NullReferenceException。

我在 VS 2015 RTM 上没有任何类似的问题。有人遇到过这个问题吗? 谢谢...

我的 XAML 代码在这里:

 <SplitView x:Name="MenuViewer" Margin="0" OpenPaneLength="200" PaneBackground="{StaticResource BorderColor}" RequestedTheme="Light" DisplayMode="CompactOverlay" FontSize="16" PaneClosing="MenuViewer_PaneClosing">
                <SplitView.Pane>
                    <Grid x:Name="PanelGrid" ManipulationCompleted="PanelGrid_ManipulationCompleted" ManipulationMode="TranslateX">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="48"/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>
                        <Grid x:Name="MenuButtonGrid" Margin="0" Background="{StaticResource Dark Main Color}" RequestedTheme="Light">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="50"/>
                                <ColumnDefinition/>
                            </Grid.ColumnDefinitions>
                            <Button x:Name="HamburgerButton" FontFamily="Segoe MDL2 Assets" Content="&#xE700;" Background="Transparent" Click="HamburgerButton_Click" VerticalAlignment="Center" Foreground="White" HorizontalAlignment="Center" RequestedTheme="Light" FontSize="16" Width="48" Height="48"/>
                            <TextBlock x:Name="MenuText" Grid.Column="1" Margin="10,12" TextWrapping="Wrap" Text="Menu" Foreground="White" RequestedTheme="Light" FontSize="16"/>
                        </Grid>
                        <Grid x:Name="MenuStack" Margin="0,10,0,0" Grid.Row="1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <Grid.Transitions>
                                <TransitionCollection>
                                    <EdgeUIThemeTransition Edge="Bottom"/>
                                    <EntranceThemeTransition/>
                                </TransitionCollection>
                            </Grid.Transitions>
                            <StackPanel x:Name="UserDetailPanel" Orientation="Vertical">
                                <Image x:Name="UserImage" Source="ms-appx:///Images/ProfileHolder.png" Width="100" Height="100" Margin="0"/>
                                <TextBlock x:Name="UserName" TextWrapping="Wrap" Text="" FontSize="16" Margin="10,0" TextAlignment="Center"/>
                                <Border x:Name="LogoutBorder" HorizontalAlignment="Center" VerticalAlignment="Center" BorderThickness="0,0,0,1"  Margin="0,10,0,0" PointerEntered="LogoutBorder_PointerEntered" PointerExited="LogoutBorder_PointerExited" PointerPressed="LogoutBorder_PointerPressed" BorderBrush="{StaticResource TextColor}" >
                                    <TextBlock x:Name="LogoutText" TextWrapping="Wrap" Text="Logout" Foreground="#FF777777" TextAlignment="Center"/>
                                </Border>
                            </StackPanel>
                            <ListView x:Name="MenuList" ItemsSource="{Binding Menu}" ItemTemplate="{StaticResource ListView_TripItemTemplate}" FontSize="16" SelectionChanged="MenuList_SelectionChanged" Margin="-10,10,0,0" Grid.Row="1" VerticalAlignment="Top" />
                            <ListView x:Name="MenuList_2" ItemsSource="{Binding Second_menu}" ItemTemplate="{StaticResource ListView_TripItemTemplate}" FontSize="16" VerticalAlignment="Bottom" SelectionMode="None" Margin="-10,0,0,48" Grid.Row="2" />
                        </Grid>
                    </Grid>
                </SplitView.Pane>
                <Grid x:Name="Main" Background="{StaticResource Background}" ManipulationMode="TranslateX" ManipulationCompleted="Main_ManipulationCompleted">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="48"/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid x:Name="Header" Margin="0" Background="{StaticResource Dark Main Color}">
                        <Grid.Transitions>
                            <TransitionCollection/>
                        </Grid.Transitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="64"/>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                            <ColumnDefinition Width="64"/>
                        </Grid.ColumnDefinitions>
                        <Button x:Name="HamburgerButton2" FontFamily="Segoe MDL2 Assets" Content="&#xE700;" Background="Transparent" Click="HamburgerButton_Click" VerticalAlignment="Center" Margin="0" HorizontalAlignment="Center" Foreground="White" FontSize="16" RequestedTheme="Light" Visibility="Collapsed"/>
                        <Button x:Name="AddButton" FontFamily="Segoe MDL2 Assets" Content="&#xE710;" Background="Transparent" Click="AddButton_Click" VerticalAlignment="Center" Margin="0" HorizontalAlignment="Center" Foreground="White" FontSize="16" Grid.Column="3" RequestedTheme="Light" Width="64" Height="48"/>
                        <AutoSuggestBox x:Name="SearchBar" Grid.Column="2" VerticalAlignment="Center" Margin="10,0" PlaceholderText="Search" FontSize="16" Style="{StaticResource AutoSuggestBoxStyle_TripLog}" BorderThickness="0" QuerySubmitted="SearchBar_QuerySubmitted" Background="#B2E9E9E9">
                            <AutoSuggestBox.QueryIcon>
                                <SymbolIcon Symbol="Find"/>
                            </AutoSuggestBox.QueryIcon>
                        </AutoSuggestBox>
                        <Button x:Name="Search_Button" FontFamily="Segoe MDL2 Assets" Content="&#xE71E;" Background="Transparent" Click="Search_Button_Click" VerticalAlignment="Center" Margin="0" HorizontalAlignment="Right" Foreground="White" FontSize="16" Grid.Column="2" RequestedTheme="Light" Width="64" Height="48" Visibility="Collapsed"/>
                        <TextBlock x:Name="Operation_Header" Margin="10,12" TextWrapping="Wrap" Text="Test" FontSize="16" Foreground="White" RequestedTheme="Light" Grid.ColumnSpan="2"/>
                    </Grid>
                    <Grid x:Name="MobileSearch_Grid" Grid.Row="1" Visibility="Collapsed">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="48"/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>
                        <AutoSuggestBox x:Name="SearchBar_Mobile" VerticalAlignment="Stretch" Margin="10,5" PlaceholderText="" FontSize="16" Style="{StaticResource AutoSuggestBoxStyle_TripLog}" BorderThickness="0,0,0,13" QuerySubmitted="SearchBar_QuerySubmitted" Background="#B2E9E9E9"/>
                    </Grid>

                </Grid>
            </SplitView>

【问题讨论】:

  • 我的拆分视图内容包含在 &lt;SplitView.Content&gt; ... &lt;/SplitView.Content&gt; 中。也许这就是我没有这个问题的原因。
  • 你能把你的整个xaml代码贴在这里吗?如果您不明确使用&lt;SplitView.Content&gt;SplitView 将使用其中的其余部分作为其Content。如果在SplitView.Pane 之后只有一个Grid,它应该可以工作。您可以尝试清理并重建您的项目,看看问题是否仍然存在。
  • 清理和重建不起作用。在使用 Visual Studio 2015 RTM 时,我没有任何类似的问题。它从 Visual Studio 2015 Update 1 开始。我认为这是此更新附带的一个严重错误。我通过回答选项添加我的 XAML 代码,谢谢。
  • 我用 Visual Studio 2015 Update 1 在我这边测试了你的代码,没有错误。您是否尝试过在另一台使用 Visual Studio 2015 Update 1 的计算机上测试您的项目?由于您在使用 Visual Studio 2015 RTM 时没有问题,我认为更新后您的 Visual Studio 可能有问题。作为一个友好的提醒,您可以通过编辑您的问题来发布您的代码。通过答案添加它不是一个好的行为。
  • 谢谢杰,我做到了。是的,你是对的,在构建时,应用程序运行良好。我在 Visual Studio 2015 Update 1 中遇到了 XAML 设计器的问题。此外,我仍然无法理解为什么 SplitView 控件在将其拖放到网格中时会出现“NullReferenceException”错误(您可以在屏幕截图中看到)。这只是失控。遇到此问题后,我也对 Windows 10 10586 和 Visual Studio Update 1 进行了全新安装,但没有成功。

标签: c# visual-studio visual-studio-2015 uisplitviewcontroller uwp


【解决方案1】:

来自 Microsoft Connect 的答案解决了我的问题。感谢您的贡献。

嗨。

我们已与 Windows SDK 团队合作,以在未来解决此问题 Windows 软件开发工具包的版本。我们有一个解决方法 那应该可以为您解决问题。请“修复”安装,通过 打开“添加或删除程序”并修复“Windows 软件 开发工具包”匹配版本 10.0.10586.15。

谢谢!

耶利米

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多