访问DataTemplate中的ListBox的选定项

时间:2017-05-30 05:53:18

标签: xaml listbox uwp

我正在购买一个UWP应用程序,我的XAML中有一个动态Pivot控件。 在Pivot内部,使用ListBox填充PivotItem。我希望能够在选择或取消选择ListBox项时检测到。但似乎代码隐藏文件中的DataTemplate内的任何控件都不能通过名称引用。

所以,我不能MyListBox.SelectedItems

之类的事情

这是我的XAML:

        <Pivot.HeaderTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}"/>
            </DataTemplate>
        </Pivot.HeaderTemplate>

        <Pivot.ItemTemplate>
            <DataTemplate>
                <ListBox Name="MyListBox"
                         ItemsSource="{Binding List}"                            
                         SelectionMode="Multiple"
                         ScrollViewer.HorizontalScrollMode="Disabled"
                         HorizontalContentAlignment="Stretch"
                         SelectionChanged="FacetsListBox_SelectionChanged">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="9*"></ColumnDefinition>
                                    <ColumnDefinition Width="1*"></ColumnDefinition>                                       
                                </Grid.ColumnDefinitions>

                                <TextBlock Grid.Column="0"
                                           Text="{Binding read}"
                                           HorizontalAlignment="Left"
                                           VerticalAlignment="Center"/>

                                <TextBlock Text="{Binding num}"   
                                               Grid.Column="1"/>    
                            </Grid>                               
                        </DataTemplate>                            
                    </ListBox.ItemTemplate>
                </ListBox>
            </DataTemplate>
        </Pivot.ItemTemplate>

    </Pivot>

1 个答案:

答案 0 :(得分:0)

您可以使用行为并使用AssociatedObject来处理ListBox的事件我认为这是解决问题的最简单方法