Как привязать SystemTray Progressbar к свойству в выбранном сводном элементе DataContext

#windows-phone-7 #data-binding #pivot #system-tray #pivotitem

#windows-phone-7 #привязка данных #сводная #системный лоток #сводный элемент #системный трей

Вопрос:

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

Можно привязать SystemTray.ProgressIndicator является видимым свойством для выбранного сводного элемента 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>
  

Ответ №1:

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

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

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

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

Ответ №2:

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

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

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