为什么 Pivot 在 UWP 数据网格的行详细信息部分中不响应触摸

问题描述 投票:0回答:2

我正在开发一个 UWP 应用程序,我的要求是 - 我有一个数据网格,其中使用 DataTemplate 资源定义了行详细信息部分。模板内部将有一个包含多个枢轴项的枢轴。其中一个枢轴项目将有一个组合框。

<Page>
    <Page.Resources>
        <DataTemplate x:Key="RowDetailsTemplate">
            <Grid HorizontalAlignment="Left" Margin="50,0,30,0" VerticalAlignment="Stretch" Background="Yellow">
                <Pivot Tapped="Pivot_Tapped">
                    <PivotItem Header="ABC">
                        <ComboBox Header="Colors" PlaceholderText="Pick a color" Width="200" Grid.Row="1" HorizontalAlignment="Left">
                            <x:String>Blue</x:String>
                            <x:String>Green</x:String>
                            <x:String>Red</x:String>
                            <x:String>Yellow</x:String>
                        </ComboBox>
                    </PivotItem>
                    <PivotItem Header="DEF">            
                    </PivotItem>
                </Pivot>
            </Grid>
        </DataTemplate>
    </Page.Resources>
    
    <controls:DataGrid RowDetailsTemplate="{StaticResource RowDetailsTemplate}" />
</Page>

问题是 - 枢轴项目和组合框都无法在触摸时工作。显然我有触摸屏,这些在 rowdetails 模板之外都可以正常工作。为什么不在行详细信息模板中?

还有另一项观察结果 - 一旦我删除除包含组合框之外的所有枢轴项目,组合框就开始响应触摸,即使在行详细信息模板内也很好。

c# windows uwp combobox pivot
2个回答
1
投票

我认为你必须从某个地方开始;如果您期望“交互”,那就将事件处理程序添加到组合框;例如选择已更改。我想你期待“Tapped”被继承;但事实并非如此。

至少,其他选择器中的“选择器”开始引入副作用,“混淆”选择/单击/点击/按下指针/拖动过程。


0
投票

我可以通过触摸重现相同的行为。建议您使用Hub代替

Pivot
。我的测试代码如下。

<Page.Resources>
    <DataTemplate x:Key="RowDetailsTemplate">
        <Grid HorizontalAlignment="Left" Margin="50,0,30,0" VerticalAlignment="Stretch" Background="Yellow">
            <Hub Tapped="Hub_Tapped">
                <HubSection MinWidth="300" Header="ABC">
                        <DataTemplate>
                            <ComboBox Header="Colors" PlaceholderText="Pick a color" Width="200" Grid.Row="1" HorizontalAlignment="Left">
                                <x:String>Blue</x:String>
                                <x:String>Green</x:String>
                                <x:String>Red</x:String>
                            <x:String>Yellow</x:String>
                            </ComboBox>
                        </DataTemplate>
                </HubSection>
                <HubSection MinWidth="300" Header="DEF"/>
            </Hub>
        </Grid>
     </DataTemplate>
</Page.Resources>

建议您在反馈中心提交此意外行为。您可以在“开始”菜单中找到“反馈中心”。 提交请求时请选择开发者平台->API反馈作为类别。 相关团队将检查该请求。

您提交请求后,请分享您的链接,我将帮助您通过内部渠道提交此反馈。

© www.soinside.com 2019 - 2024. All rights reserved.