Как связать свойство страницы в silverlight? - PullRequest
2 голосов
/ 27 февраля 2011

У меня есть страница Silverlight с логическим свойством в коде позади.

В xaml у меня есть tabcontrol, а внутри одного из содержимого tabitem находится индикатор занятости.

Я хочу связать свойство isbusy busyindicator с логическим свойством в codebehind, но не могу разрешить его, независимо от того, какое оператор связывания я использую.

Ответы [ 4 ]

7 голосов
/ 27 февраля 2011

У Slugster есть отличное решение, но я думаю, что вы ищете это

<Page x:Name="MyPage>
<TabControl>
    <TabItem>
       <BusyIndicator IsBusy="{Binding ElementName=MyPage, Path=MyBooleanPropertyNameInCodeBehind}" /> 
    </TabItem>
</TabControl>

3 голосов
/ 27 февраля 2011

Slugster и AntSlay, оба ваших решения работали. Я обнаружил, что это также работает:

<Page DataContext="{Binding RelativeSource={RelativeSource Self}}">
    <TabControl>
        <TabItem>
           <BusyIndicator IsBusy="{Binding MyBooleanPropertyNameInCodeBehind}" /> 
        </TabItem>
    </TabControl>
</Page>
3 голосов
/ 27 февраля 2011

В коде сзади вы должны убедиться, что вы установили DataContext.Так что в событии Load вашей страницы, поместите это:

this.DataContext = this;

Если вы уже сделали это, вам нужно будет опубликовать более подробную информацию.

0 голосов
/ 27 февраля 2011

У меня есть что-то подобное для ярлыка

   public string Caption { get; set; }

    void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
       Caption = "Label";
    }

и в XAML

 <Label Content="Label" Height="28" Name="label1" DataContext="{Binding Caption}" />

Я уверен, что вы можете сделать то же самое с индикатором занятости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...