如何从“组头”中删除“点击”事件并手动调用“长列表选择器”中的“跳转列表”?

时间:2013-09-20 06:58:19

标签: xaml windows-phone-7 windows-phone-8 windows-phone longlistselector

我在我的应用程序中使用长列表选择器,我已经在其中创建了组和组头。 现在,我在组头中添加一个按钮,并希望按钮打开新页面。 但是,当我点击按钮时,它会导航到新页面并打开“跳转列表”。单击按钮时我不想要跳转列表。 我找到了这个link,但是,这里没有明确的答案。

有没有办法在“组头”上禁用“点击”事件并在需要时调用?

我的代码是:

XAML:

 <DataTemplate x:Key="groupHeaderTemplate">
        <Border HorizontalAlignment="Stretch" Height="70"  Background="{Binding Converter={StaticResource BackgroundConverter}}" Margin="6">
            <Grid HorizontalAlignment="Stretch" Background="Transparent">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>

                <TextBlock Text="{Binding Title}"
                       FontSize="40" Padding="6"
                       VerticalAlignment="Center" 
                       Foreground="{Binding Converter={StaticResource ForegroundConverter}}" />
                <Button Content="addNew" Name="addNew_btn" Grid.Column="1"   Click="addNew_btn_Click_1" Tag="{Binding transType}" />

            </Grid>

        </Border>
    </DataTemplate>

CS:

private void addNew_btn_Click_1(object sender, RoutedEventArgs e)
    {

        NavigationService.Navigate(new Uri("/Expense.xaml", UriKind.Relative));

    }

1 个答案:

答案 0 :(得分:5)

如果我理解正确,您需要在点击按钮外部时打开跳转列表,并在点击按钮时打开另一页。要做到这一点,您只需注册Tap事件,而不是单击按钮,然后单击Tap事件处理程序集e.Handled = true;,这将阻止事件冒泡并按下按钮时打开跳转列表。