【发布时间】:2016-05-06 09:46:39
【问题描述】:
我有以下代码:
<Pivot x:Name="mainContentPivot"
Margin="4,10,4,4"
Style="{StaticResource pivotWithLargerArrows}"
SelectionChanged="mainContentPivot_SelectionChanged"
ItemsSource="{Binding Path=Params}"
>
<Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Key}"/>
</DataTemplate>
</Pivot.HeaderTemplate>
<Pivot.ItemTemplate>
<DataTemplate>
<Grid DataContext="{Binding Path=Value}">
<GridView x:Name="itemGV">
<GridView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
</DataTemplate>
</Pivot.ItemTemplate>
</Pivot>
C#结束:
Dictionary<string,string> contentItems = new Dictionary<string,string>(){
{"PivotItem1","ContentItem1"},
{"PivotItem2","ContentItem2"},
{"PivotItem3","ContentItem3"},
{"PivotItem4","ContentItem4"},
{"PivotItem5","ContentItem5"},
{"PivotItem6","ContentItem6"},
}
mainContentPivot.ItemsSource = contentItems;
在 Pivot_SelectionChanged 上,我想控制该枢轴中的当前 GridView,以便设置它的 ItemsSource。 但是我无法做到这一点,因为 Pivot 绑定到了 `Dictionary> 的 ItemTemplate,我该如何解决这个问题?
编辑:此外,当我尝试使用 mainContentPivot.SelectedItem 时,我没有得到 FrameworkElement,因此我可以派生它的子级,我得到了 KeyValuePair<CustomClass,List<PivotItemMembers>> 。因此我无法使用 VisualTree。
【问题讨论】:
-
使用 VisualTreeHelper GetChild 方法
-
好吧,当我尝试使用 mainContentPivot.SelectedItem 时,我没有得到可以从中派生该元素的 xaml 元素。我得到了我的 KeyValuePair
. -
检查我的答案。我不确定你在发件人中得到了什么。是 Pivot 还是 PivotItem?
-
好的。检查更新的答案,让我知道它是否有效。因为我不能测试。您必须提供所有代码
标签: c# xaml win-universal-app winrt-xaml