Windows Phone - LongListSelector中的ToggleSwitch(滚动时不更改)

时间:2015-02-18 20:47:30

标签: xaml silverlight windows-phone-8 gesture longlistselector

这是我的page.xaml中的LongListSelector:

<phone:LongListSelector Name="ModuleList" 
                        Margin="0,0,0,0" 
                        Padding="0,0,0,0"
                        Style="{StaticResource LLSFloatingScrollbarStyle}"
                        ItemTemplate="{StaticResource ModuleListTemplate}"
                        ItemsSource="{Binding Modules}"/>

我的模板:

<DataTemplate x:Key="ModuleListTemplate">
        <StackPanel Margin="{Binding StackModuleMargin}">
...
        <toolkit:ToggleSwitch x:Name="LockSwitch" 
                              Grid.Row="2" Margin="0,4,0,-26" Padding="0"
                              Content="" SwitchForeground="{StaticResource TrackitoOrange}"
                              IsChecked="{Binding IsToggleCheck, Mode=TwoWay}">
                 <i:Interaction.Triggers>
                       <i:EventTrigger EventName="Click">
                             <Command:EventToCommand Command="{Binding DataContext.LockSwitchTapCommand, ElementName=LayoutRoot}"
                                                     CommandParameter="{Binding}" />
                       </i:EventTrigger>
                </i:Interaction.Triggers>
        </toolkit:ToggleSwitch>
...

问题是当我只使用列表滚动时会出现click。是的,我的手指在哪里切换,但我想在滚动时修复它然后切换不要改变。感谢

1 个答案:

答案 0 :(得分:0)

如果你的用户界面中有两个竞争性的点击事件,你可能会探讨一个设计问题。

也就是说,您可以覆盖OnScroll并将事件标记为在原始级别处理,因此它不会冒泡到您的切换按钮。