如何将SystemTray Progressbar绑定到选定PivotItem DataContext中的属性

时间:2011-10-11 19:35:46

标签: windows-phone-7 data-binding pivot system-tray pivotitem

我有一个带有Pivot和3个PivotItems的应用程序。每个PivotItem都有自己的DataContext,DataContext有一个名为IsLoading的属性。

可以将SystemTray.ProgressIndicator IsVisible属性绑定到选定的pivotitem DataContext.IsLoading属性吗?

以下是我尝试的内容:

<shell:SystemTray.ProgressIndicator>
    <shell:ProgressIndicator 
       IsVisible="{Binding ElementName=pivot, Path=SelectedItem.DataContext.IsLoading}" />
</shell:SystemTray.ProgressIndicator>
<Grid Background="Transparent">
    <controls:Pivot x:Name="pivot">

        <controls:PivotItem Header="pivot item"
                                Margin="0,28,24,0"
                                DataContext="{Binding DCOne}" />

        <controls:PivotItem Header="pivot item"
                            Margin="0,28,24,0"
                            DataContext="{Binding DCTwo}" />

        <controls:PivotItem Header="pivot item"
                            Margin="0,28,24,0"
                            DataContext="{Binding DCThree}" />
</Grid>

2 个答案:

答案 0 :(得分:4)

试试这个:

http://www.codeproject.com/Articles/246355/Binding-the-WP7-ProgressIndicator-in-XAML?display=Print

<a:ProgressIndicatorProxy IsVisible="{Binding ElementName=pivot, Path=SelectedItem.DataContext.IsLoading}" />

(还没试过)

答案 1 :(得分:0)

以下是来自Jeff Wilcox的解决方案,看起来它适用于您的情况:

http://www.jeff.wilcox.name/2011/07/creating-a-global-progressindicator-experience-using-the-windows-phone-7-1-sdk-beta-2/

您可以根据其他(或选定的)枢轴项的状态调整技术,直接在枢轴页面上寻址ProgressIndicator。