尝试从windows phone后面的代码中删除枢轴项目(带有头模板)时抛出异常

本文关键字:项目 抛出异常 phone windows 删除 代码 | 更新日期: 2023-09-27 18:07:48

在我的应用程序中,我需要动态地添加和删除枢轴项目。我成功地实现了它。但是后来当我试图更改pivot项目头模板时,相同的代码抛出异常。

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>

我使用下面的代码来删除和添加pivot Items

HeadPivot.Items.Remove(FiltersPI);
HeadPivot.Items.Add(SearchPI);

在第一行

抛出以下异常
-       $exception  {System.ArgumentException: Value does not fall within the expected range.

如果我删除头模板,它的工作很好。我能知道我做错了什么吗?

这是不能做的吗?

谢谢。

尝试从windows phone后面的代码中删除枢轴项目(带有头模板)时抛出异常

我猜默认的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>