ListBox和selectedItem / Events中的ListBox

时间:2012-03-28 08:18:47

标签: silverlight windows-phone-7 xaml

我现在已经坚持了一段时间,所以我在这里问专家。

首先是XAML:

<ListBox Grid.Column="0" Tap="Some_Tap" SelectionChanged="Some_SelectionChanged">

                    <ListBox.ItemTemplate>
                        <DataTemplate>

                            <!-- the panel which covers a complete list item -->
                            <StackPanel Orientation="Vertical">

                                <!-- start and end time for the travel route-->
                                <Grid HorizontalAlignment="Center">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="100"/>
                                        <ColumnDefinition Width="100"/>
                                        <ColumnDefinition Width="100"/>
                                        <ColumnDefinition Width="100"/>
                                    </Grid.ColumnDefinitions>

                                    <Grid.RowDefinitions>
                                        <RowDefinition/>
                                        <RowDefinition/>
                                    </Grid.RowDefinitions>


                                    <!-- some textblock items, removed to keep this simple -->
                                </Grid>

                                <!-- list box for images -->
                                <ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"  ScrollViewer.VerticalScrollBarVisibility="Disabled" ItemsSource="{Binding Thumbs}" HorizontalAlignment="Center" Margin="0,10,0,50">
                                    <ListBox.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" />
                                        </ItemsPanelTemplate>
                                    </ListBox.ItemsPanel>

                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Vertical" HorizontalAlignment="Center">

                                                <Image Source="{Binding Image}" HorizontalAlignment="Center"/>
                                                <TextBlock Text="{Binding Text}" HorizontalAlignment="Center" FontWeight="{Binding FontWeightForText}">
                                                    <TextBlock.Foreground>
                                                        <SolidColorBrush Color="{StaticResource PhoneForegroundColor}"/>
                                                    </TextBlock.Foreground>
                                                </TextBlock>

                                            </StackPanel>
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>

                                </ListBox>

                            </StackPanel>
                        </DataTemplate>

                    </ListBox.ItemTemplate>

                </ListBox>

从XAML可以看出,我在另一个ListBox的数据模板中有一个ListBox。我有Tap&amp; SelectionChanged事件有线。

问题:

  1. 我无法点击内部列表框所覆盖的区域,外部列表框不会触发外部列表框的点击或选择更改事件。

  2. 我也可以为内部列表框连接点击和选择更改的事件,但是我怎么知道这个innerlistbox所属的外部列表框中的哪个项目,selectedindex。

  3. 帮助??

    -A

2 个答案:

答案 0 :(得分:1)

如果您不需要在列表中选择项目,请改用ItemsControl(在这种情况下为内部列表)

答案 1 :(得分:0)

只需设置内部ListBox控件IsEnabled = false,外部的Tap事件就会开始执行!