Как привязать прогрессбар трее на недвижимость в выбранной сводной таблицы значение DataContext


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

Можно привязать SystemTray.ProgressIndicator IsVisible свойство для выбранного pivotitem DataContext.Это ваша собственность?

Вот что я попробовал:

<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 5

2 ответа:

Попробуйте это:

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

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

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

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

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

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