1

Windows Phone 8 開発用の一般的なフォームから始めました。いいえ、特定のピボット項目が選択されているかどうかをテストしたい場合は、そのピボット項目にグリッドをロードする関数を起動する必要があります。

ここに私のxamlとこれまでの私のコードXAMLがあります:

 <phone:Pivot Name="mainpivot" Title="MY APPLICATION" LoadingPivotItem="mainpivot_LoadingPivotItem" LoadedPivotItem="mainpivot_LoadedPivotItem_1">
        <!--Pivot item one-->
        <phone:PivotItem Name="staticpivot" Header="static">
            <!--Double line list with text wrapping-->
            <Grid Name="staticGrid" >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>



                </Grid.RowDefinitions>

                <TextBox Name="txtUsername" Grid.Column="1" Height="70"></TextBox>
                <TextBox Name="txtPassword" Grid.Row="1" Height="70" Grid.Column="1"></TextBox>
                <TextBox Name="txtdescription" Grid.Row="2" Height="150"  Grid.Column="1" TextWrapping="Wrap"></TextBox>


                <TextBlock Height="40" Text="USERNAME" HorizontalAlignment="Center"></TextBlock>
                <TextBlock Height="40" Text="PASSWORD" HorizontalAlignment="Center" Grid.Row="1"></TextBlock>
                <TextBlock Height="40" Text="DESCRIPTION" HorizontalAlignment="Center" Grid.Row="2"></TextBlock>

                <Button Grid.Row="4" Grid.ColumnSpan="2" Tap="Button_Tap">SAVE DATA</Button>
            </Grid>
        </phone:PivotItem>

        <!--Pivot item two-->
        <phone:PivotItem x:Name="genericpivot" Header="generic">
            <!--Double line list no text wrapping-->
        </phone:PivotItem>
    </phone:Pivot>

2 番目のピボットには何も含まれていないことがわかるように、コントロールを動的に追加します。

問題はコードにあります:

        private void mainpivot_LoadedPivotItem_1(object sender, PivotItemEventArgs e)
    {
        if (e.Item.Name == "genericpivot")
        {
            loadDetailForPivot();
        }
    }

デバッグしてそこにブレークポイントを配置すると、この関数は起動しません。誰かが私の理由を教えてもらえますか? またはそれを説明するリンクを提供してください。

よろしく

4

1 に答える 1

2

明確にするために、選択されたピボット項目を入力しようとしていますか?

あなたが求めているのは、(VB.net、申し訳ありません) などのピボット コントロールの selectedindex への変更を取得することだと思います。

  Private Sub PivotItem_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles PivotItem.SelectionChanged
       If PivotItem.SelectedIndex = 1 Then LoadDetailForPivot
End Sub

しかし...なぜ事前にコントロールをロードしないのですか? その方が速いとは思いませんか (つまり、ユーザーがピボットする際にロードされる間、遅延はありません)。以前のアプリでこれを行った結果、ピボットがぎくしゃくしていました。

于 2013-06-06T10:29:53.423 に答える