1

我正在开发一个带有数据绑定 gridview xaml 控件的 Windows 8 Metro 应用程序。

在此处输入图像描述

我在组的标题中添加了一个名为 progressRingGroup 的环形进度条,如下所示。

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

我想从我的代码中以编程方式访问 ring-progress-bar(所以我可以启动/停止它)但是由于我的网格视图是数据绑定的,我不知道该怎么做。

我在 gridview 中有多个组,需要分别访问所有组。

这是我的 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 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 回答