C# 尝试从windows phone后台代码中删除轴心项目(带有标题模板)时引发异常
在我的应用程序中,我需要动态添加和删除轴心项目。我成功地实现了它。但后来当我试图更改pivot items头模板时,相同的代码引发了异常 xaml代码如下所示C# 尝试从windows phone后台代码中删除轴心项目(带有标题模板)时引发异常,c#,windows-phone-8,pivotitem,C#,Windows Phone 8,Pivotitem,在我的应用程序中,我需要动态添加和删除轴心项目。我成功地实现了它。但后来当我试图更改pivot items头模板时,相同的代码引发了异常 xaml代码如下所示 <phone:Pivot x:Name="HeadPivot" Title="SDPOnDemand"> <phone:PivotItem x:Name="RequestsPI"> <phone:PivotItem.Header>
<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>
在第一行中抛出以下异常
- $exception {System.ArgumentException: Value does not fall within the expected range.
如果我删除标题模板,它就可以正常工作。我能知道我做错了什么吗
这是不能做到的吗
谢谢。我想默认的HeaderTemplate不希望在标题中包含UI元素 更改标题外观的方法是更改数据透视本身的HeaderTemplate属性,然后将适当的对象(很可能是简单的字符串)指定给数据透视项的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>
Header=“Requests”
(等等)对您不起作用吗?我的意思是,你真的想更改模板还是仅仅更改值?我的主要问题是使用默认模板时标题的大小。我想缩小尺寸,这就是我使用这个的原因。谢谢,它现在很好用。尽管这看起来像是一个需要报告的错误。@请按我看到的唯一问题是,该错误并没有告诉您有关该问题的所有信息。否则,很少需要有不同外观的标题,因此将模板放在一个位置似乎是可以的。当然,如果愿意,可以在模板中放置ContentPresenter或ContentControl,然后可以为每个数据透视项设置所需的任何UI(就像在问题中的XAML中所做的那样):)
<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>