2011-02-27 28 views
1

コードビハインドにブール値のプロパティを持つSilverlightページがあります。Silverlightでpageプロパティにバインドする方法は?

xamlには私がタブコントロールを持っていて、タブアイテムの内容の1つがビジー状態です。

busyindicatorのisbusyプロパティをcodebehindのbooleanプロパティにバインドしますが、私が使用するバインディングステートメントに関係なく解決できません。

答えて

2

コードビハインドでは、DataContextを設定していることを確認する必要があります。あなたのページのLoadイベントでそう、これを置く:

this.DataContext = this; 

あなたがすでにこれを行っている場合は、詳細をポストする必要があります。

0

私はあなたがビジーインジケータと同じことを行うことができると確信していラベル

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}" /> 

ため、このようなものを持っています。

6

Slugsterは、きちんとした解決策を持っているが、私は何を探していることは、この

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

+0

うん、それは確かに動作します。 +1。 – slugster

3

SlugsterとAntSlay、あなたのソリューションの両方に働いていると思います。私もこれが動作することがわかりました:

<Page DataContext="{Binding RelativeSource={RelativeSource Self}}"> 
    <TabControl> 
     <TabItem> 
      <BusyIndicator IsBusy="{Binding MyBooleanPropertyNameInCodeBehind}" /> 
     </TabItem> 
    </TabControl> 
</Page> 
関連する問題