繁体   English   中英

尝试从Windows Phone后面的代码中删除枢纽项目(带有标题模板)时引发异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM