2009-06-11 28 views
1

次のコードは、WPFで正常に動作します。なぜPath = SelectedItem.ContentはWPFではなくComboBoxで動作しますが、Silverlightでは動作しませんか?

Silverlightプロパティテキストのプロパティ値{Binding ElementName = WhichNumber、Path = SelectedItem.Content}が無効です。 **

どのように私はこれを動作させることができますSilverlight

<ComboBox x:Name="WhichNumber" Width="100" HorizontalAlignment="Left" Margin="10" SelectedIndex="0"> 
     <ComboBoxItem Content="One"/> 
     <ComboBoxItem Content="Two"/> 
     <ComboBoxItem Content="Three"/> 
    </ComboBox> 

    <TextBlock Text="{Binding ElementName=WhichNumber, Path=SelectedItem.Content}"/> 
+0

これをSilverlight 2またはSilverlight 3(要素と要素の間のバインディングを使用)で実行しようとしていますか? –

+0

で2、ああ知ってよ! –

答えて

2

SilverlightはWPFのバインディングのようなものを完全にサポートしていながら、相対結合(別の要素の属性値の値に一つの要素の属性を結合)をサポートしていません。 WPFを使用した場合、構文が代わりに書いている、わずかに異なっている(彼らはこれが私を超えていた理由は)いくつかの理由についてエレメント結合:)

にUI要素を紹介

2

それとも、Silverlightの3に移動することができます:

<TextBlock Text="{Binding ElementName=WhichNumber, Path=SelectedItem.Content}"/> 

あなたは、Silverlight 3で記述します。

<TextBlock Text="{Binding ElementName=WhichNumber, SelectedItem.Content}"/> 

ので 'パス=' の部分なし。

残念ながら、MicrosoftのSilverlightユーザーは、WPFとSilverlightで簡単にコードを再利用するのではなく、構文やその他の事項を少し変更する傾向があります。

+0

実際には、必要に応じてSilverlightで 'Path ='部分を使用することもできます。 – mattmanser

関連する問題