Как связать SystemTray Progressbar со свойством в выбранном PivotItem DataContext - PullRequest
5 голосов
/ 11 октября 2011

Я получил приложение с Pivot и 3 PivotItems. Каждый PivotItem имеет свой собственный DataContext, а DataContext имеет свойство с именем IsLoading.

Можно связать свойство IsTisible SystemTray.ProgressIndicator с выбранным ключевым элементом 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 ]

4 голосов
/ 18 октября 2011

Попробуйте:

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

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

(еще не пробовал)

0 голосов
/ 18 октября 2011

Вот решение от Джеффа Уилкокса, которое выглядит так, как будто оно подойдет для вашей ситуации:

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

Вы можете адаптировать эту технику для прямого обращения к ProgressIndicator на своей странице сводки на основе состояний других (или выбранных) элементов сводки.

...