![](/img/trans.png)
[英]Accessing children of second pivot item from code behind with their x:Name returns null in Windows Phone 8.1
[英]Exception thrown when trying to remove pivot item (with header template) from code behind windows phone
在我的应用中,我需要动态添加和删除数据透视项。 我成功实现了它。 但是稍后,当我尝试更改数据透视表头模板时,相同的代码引发了异常。
xaml代码如下
<phone:Pivot x:Name="HeadPivot" Title="SDPOnDemand">
<phone:PivotItem x:Name="RequestsPI">
<phone:PivotItem.Header>
<Grid>
<TextBlock Text="Requests" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
</Grid>
</phone:PivotItem.Header>
</phone:PivotItem>
<phone:PivotItem x:Name="FiltersPI">
<phone:PivotItem.Header>
<Grid>
<TextBlock Text="Filters" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
</Grid>
</phone:PivotItem.Header>
</phone:PivotItem>
<phone:PivotItem x:Name="SearchPI">
<phone:PivotItem.Header>
<Grid>
<TextBlock Text="Search Items" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
</Grid>
</phone:PivotItem.Header>
</phone:PivotItem>
</phone:Pivot>
我使用以下代码删除和添加枢纽项目
HeadPivot.Items.Remove(FiltersPI);
HeadPivot.Items.Add(SearchPI);
第一行抛出以下异常
- $exception {System.ArgumentException: Value does not fall within the expected range.
如果我删除标题模板,则可以正常工作。 我可以知道我做错了什么吗?
这不能完成吗?
谢谢。
我猜默认的HeaderTemplate不会在Header中使用UI元素。
更改标题外观的方法是更改Pivot本身的HeaderTemplate属性,然后将适当的对象(很可能是简单的字符串)分配给PivotItem的Header属性。 像这样:
<phone:Pivot x:Name="HeadPivot" Title="SDPOnDemand">
<phone:Pivot.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding}" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
</Grid>
</DataTemplate>
</phone:Pivot.HeaderTemplate>
<phone:PivotItem x:Name="RequestsPI" Header="Requests">
</phone:PivotItem>
<phone:PivotItem x:Name="FiltersPI" Header="Filters">
</phone:PivotItem>
<phone:PivotItem x:Name="SearchPI" Header="Search Items">
</phone:PivotItem>
</phone:Pivot>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.