1

データ バインドされた gridview xaml コントロールを使用して Windows 8 メトロ アプリケーションを開発しています。

ここに画像の説明を入力

以下に示すように、progressRingGroup という名前のリング プログレス バーをグループのヘッダーに追加しました。

<ProgressRing x:Name="progressRingGroup" IsActive="True" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/>

コードからリングプログレスバーにプログラムでアクセスしたい (開始/停止できるようにするため) が、グリッドビューがデータバインドされているため、その方法がわかりません。

グリッドビューに複数のグループがあり、それらすべてに個別にアクセスする必要があります。

これが私の gridview の groupstyle xaml 定義です。

<GridView.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <Grid Margin="1,0,0,6">
                            <Button
                                AutomationProperties.Name="Group Title"
                                Click="Header_Click"
                                Style="{StaticResource TextPrimaryButtonStyle}" >
                                <StackPanel Orientation="Horizontal">
                                    <ProgressRing x:Name="progressRingGroup" IsActive="True" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/>
                                    <TextBlock Text="{Binding Title}" Margin="6,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                                    <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>                                        
                                </StackPanel>
                            </Button>
                        </Grid>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.Panel>
                    <ItemsPanelTemplate>
                        <VariableSizedWrapGrid ItemWidth="75" ItemHeight="150" Orientation="Vertical" Margin="0,0,80,0" MaximumRowsOrColumns="3"/>
                    </ItemsPanelTemplate>
                </GroupStyle.Panel>
            </GroupStyle>
        </GridView.GroupStyle>

助けていただければ幸いです。

4

1 に答える 1

1

各プログレス リングの IsActive プロパティを制御できるようにする場合は、bool プロパティをグループ データ モデルに追加し、IsActive をそのプロパティにバインドします。そうすれば、すべての ProgressRing にプログラムでアクセスしなくても、各 ProgressRing を制御できます。

例えば:

<ProgressRing x:Name="progressRingGroup" IsActive="{Binding GroupLoading}" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/>

それでもプログラムでそれぞれにアクセスしたい場合Loadedは、DataTemplate の ProgressRing にイベントを割り当て、イベントが発生したときにリング (送信者) への参照を取得できます。

于 2012-11-02T00:26:35.020 に答える