使项目不可点击

时间:2014-07-19 14:44:04

标签: c# xaml windows-phone-8.1

我有以下代码:

<Pivot Grid.Row="1" x:Uid="Pivot" x:Name="pivot" CommonNavigationTransitionInfo.IsStaggerElement="True">
    <!--Pivot item draw-->
    <PivotItem x:Uid="PivotDraw" Margin="10,0,0,10" Header="drawx" DataContext="{Binding Draw}" d:DataContext="{Binding Draws[0], Source={d:DesignData Source=/DataModel/SampleData.json, Type=data:DataSource}}" CommonNavigationTransitionInfo.IsStaggerElement="True">
        <!--Double line list with text wrapping-->
        <ListView ItemsSource="{Binding Rounds}" IsRightTapEnabled="True" ContinuumNavigationTransitionInfo.ExitElementContainer="True">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Margin" Value="0,0,0,10" />
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Style="{ThemeResource ListViewItemSubheaderTextBlockStyle}">
                            <Run Text="Round "/>
                            <Run Text="{Binding RoundNumber}" />
                        </TextBlock>
                        <ListView ItemsSource="{Binding Formations}" IsItemClickEnabled="False" IsTapEnabled="False">
                            <ListView.ItemContainerStyle>
                                <Style TargetType="ListViewItem">
                                    <Setter Property="Margin" Value="0, 0, 5, 0" />
                                </Style>
                            </ListView.ItemContainerStyle>
                            <ListView.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal" />
                                </ItemsPanelTemplate>
                            </ListView.ItemsPanel>
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Shorthand}"  Style="{ThemeResource ListViewItemTextBlockStyle}" />
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </PivotItem>

目前我在该枢轴页面上显示的数据采用以下格式:

Round 1
A B C D E

Round 2 
F G H J K

我正在努力制作不可选择的单个编队(字母)。

目前我可以按下任何一封信,它只给那封信给我新闻动画,我想禁用它。

我也可以按'Round X'标题,我得到整个项目的新闻动画(圆形标题加上所有编队),我想保留并添加方法。

我尝试将IsItemClickEnabled添加到各个地方但未设法更改当前功能,如上所述。

1 个答案:

答案 0 :(得分:1)

最好在这里为 ListViewItem 定义自定义样式,你必须从 VisualStateManager 中删除一些代码。

但如果您不想选择/触摸这些字母,我认为您可以尝试在第二个 ListView.ItemContainerStyle 中进行一些修改, - 设置IsHitTestVisible false

// .. code ...
<ListView ItemsSource="{Binding Formations}" IsItemClickEnabled="False" IsTapEnabled="False">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
              <Setter Property="Margin" Value="0, 0, 5, 0" />
              <Setter Property="IsHitTestVisible" Value="False"/>
        </Style>
// rest of the code