2012-04-30 39 views
0

突然、リストボックスバインディングに問題がありました。データバインドの問題リストボックスの問題

私はViewModelを持っていますが、そこにはいくつかのデータを持つ2つの観測可能なコレクションがあります。両方のリストに正しく入力されます。 ViewModelにでメインページ()コンストラクタで

DataContext = App.ViewModel; 
InitializeComponent(); 

リスト:

public ObservableCollection<Saloon> Saloons { get { return ... } set { ... } } 
public ObservableCollection<TTSaloon> TTList { get { return ... } set { ... } } 

私はマップコントロールに最初のリストを結合してにバインドされた画鋲を取得することができています」リスト内にある「場所」プロパティを選択します。

<my:Map DataContext="{Binding Saloons}"....> 
<my:Pushpin Location="{Binding Location}"/>...</my:Map> 

上記はうまくいきます。しかし、私はまた、このような他のコレクション(TTList)にバインドする必要があるリストボックス持っています:

<ListBox ItemsSource="{Binding TTList}" DataContext="{Binding}" Name="listBox1"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Orientation="Vertical"> 
           <TextBlock Text="{Binding Path=CustomerName}" Foreground="White" /> 
          </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

をしかし、これはまったく機能しません。私は別のものをたくさん試してみました:

  • は、リストボックスからのDataContextを削除するコードビハインド

  • にItemSourceを設定

  • がListname.Property

  • への結合パスを変更しました

    要素のDataContextをコードビハインド内の特定のリストに設定します。 InitializeComponent後のDataContextを(設定

私はアイデアを思い、私はここで何をしないのです、デバッガはどちらか私を警告されていません。 "CustomerName"フィールドは存在し、コンソールに出力されます。

編集:これはピボットアプリであり、リストボックスはピボットアイテム2になっています(影響がある場合)。

+0

がどのようにTTListを移入している(「追加」やったときのObservableCollectionにのみ「クリア」「削除」や、自身で変更を発生させますか)? –

+0

これは、クラスにシリアル化されるjsonレスポンスであるwebserviceから生成されます。 2つのリストは、異なるソースから同じ方法で作成されます。 – Josef

+0

データが受信され、リストに値が設定された後に、DataContextを設定する必要はありますか?私が必要としないプッシュピンをバインドするとき – Josef

答えて

0

Yout foregoundは、白に設定されます。白い背景の白い文字のためにアイテムを見ることができないのでしょうか?

+0

Hehe私は一度そのミスをしましたが、背景は黒です。 – Josef

0

ObservableCollectionが値に設定されているときにOnPropertyChangedを呼び上げていますか?

+0

はい、ここで何か他のことが起こっています。 OpenReadCompleted時にItemSourceを設定すると、コレクションとコレクション自体をMainPage.csファイルに読み込むメソッドを移動したときに動作します。奇妙なことは、サルーンリスト(マップに既にバインドされている)をリストボックスにバインドできなかったことです。 – Josef

関連する問題