访问DatateMplate中列表框的选定项目



我正在为UWP应用程序,并且我的XAML具有动态Pivot控件。在枢轴内部使用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>

您可以使用行为并使用关联对象来处理列表框的事件,我认为是解决问题的最简单方法

最新更新