我正在为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>
您可以使用行为并使用关联对象来处理列表框的事件,我认为是解决问题的最简单方法