C# 带图像点击的列表框

C# 带图像点击的列表框,c#,xaml,telerik,windows-phone,C#,Xaml,Telerik,Windows Phone,如何实现这个ui 项目1 | X 项目2 | X 项目3 | X 项目1、项目2、项目3具有SelectionChanged事件,X是带有点击事件的图像 我试过这个 <telerikPrimitives:RadDataBoundListBox x:Name="AddressListBox" ItemsSource="{Binding hereRestAddressDetail}" SelectedItem="{Binding hereRestDetail}"

如何实现这个ui

项目1 | X 项目2 | X 项目3 | X

项目1、项目2、项目3具有SelectionChanged事件,X是带有点击事件的图像

我试过这个

<telerikPrimitives:RadDataBoundListBox
    x:Name="AddressListBox"
    ItemsSource="{Binding hereRestAddressDetail}"
    SelectedItem="{Binding hereRestDetail}"
    SelectionChanged="AddressListBox_SelectionChanged" 
    ItemAnimationMode="PlayAll"
    EmptyContent="">
    <telerikPrimitives:RadDataBoundListBox.ItemTemplate>
        <DataTemplate>
            <Grid Margin="0,0,0,10">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>

                <Rectangle Grid.Column="0" Grid.RowSpan="2" Width="10">
                    <Rectangle.Fill>
                        <SolidColorBrush Color="{StaticResource PhoneAccentColor}"/>
                    </Rectangle.Fill>
                </Rectangle>
                <StackPanel Grid.Column="1" Grid.RowSpan="2" >
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding LocalizedResources.by, 
                                            Source={StaticResource LocalizedStrings}}" 
                                   Style="{StaticResource PhoneTextNormalStyle}"/>
                        <TextBlock Text="{Binding creator}" Margin="-8,0,0,0"
                                   Style="{StaticResource PhoneTextAccentStyle}"/>
                    </StackPanel>
                    <TextBlock Text="{Binding street}"
                               TextWrapping="Wrap"
                               Style="{StaticResource PhoneTextLargeStyle}" />
                    <TextBlock Text="{Binding formatedStreet}" 
                               TextWrapping="Wrap"
                               Style="{StaticResource PhoneTextSubtleStyle}" />
                </StackPanel>
                <Image Source="{Binding ratingButton}" Grid.Column="2" 
                       Stretch="Uniform" Width="80"
                       Tag="{Binding Id}" Tap="rate_Tap"/>
                <TextBlock Text="{Binding ratingValue}" HorizontalAlignment="Center"
                           TextWrapping="Wrap" Grid.Column="2" Grid.Row="1"
                           Style="{StaticResource PhoneTextSubtleStyle}"/>
            </Grid>
        </DataTemplate>
    </telerikPrimitives:RadDataBoundListBox.ItemTemplate>

</telerikPrimitives:RadDataBoundListBox>

但当我点击图像时,它会执行我的事件(在这种情况下,我只是通过显示messagebox来测试它),但在这之后,它还会执行我的SelectionChanged事件

如何指定仅在我点击图像时触发的图像点击事件?

这应该可以工作:

bool ignoreSelectionChanged;
void rate_Tap(...) {
    ignoreSelectionChanged = true;
    //do you image tap things here
}
void AddressListBox_SelectionChanged(...) {
    if(ignoreSelectionChanged) {
        ignoreSelectionChanged = false; //reset the bool, so that it will skip only once
        return;
    }
    //do your things on selection change here
}