处理LongListSelector内的click事件

时间:2013-01-30 05:13:25

标签: silverlight windows-phone-7 xaml

我有以下XAML:

<phone:LongListSelector.ItemTemplate>
<DataTemplate>
    <StackPanel Margin="0,0,0,17" >
        <TextBlock Text="{Binding Path=Name, Mode=TwoWay}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
        <TextBlock Text="{Binding Path=State.Summary, Mode=TwoWay}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
        <toolkit:ToggleSwitch x:Name="stateToggle" x:Uid="{Binding Path=Id, Mode=TwoWay}" IsChecked="{Binding Path=State.Current, Mode=TwoWay}" Click="stateToggle_Click_1" ></toolkit:ToggleSwitch>
    </StackPanel>
</DataTemplate> 
</phone:LongListSelector.ItemTemplate>

我正在努力实现以下目标: 1)在切换开关上执行操作单击(处理事件) 2)当点击列表中的项目时,即在切换开关的边界之外时采取行动。

我尝试了SelectionChanged和ToggleSwitch Click,但是当我点击切换开关时,我仍然会调用这两个事件。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果SelectionChanged适用于用例2,那么你基本上就在那里。

您应该在ToggleSwitch Click处理程序中将MouseEventArgs Handled属性设置为true。这样就不应该改变选择(因为没有点击列表项),只应该引发你想要的点击事件。