![](/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.