突然、リストボックスバインディングに問題がありました。データバインドの問題リストボックスの問題
私は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になっています(影響がある場合)。
がどのようにTTListを移入している(「追加」やったときのObservableCollectionにのみ「クリア」「削除」や、自身で変更を発生させますか)? –
これは、クラスにシリアル化されるjsonレスポンスであるwebserviceから生成されます。 2つのリストは、異なるソースから同じ方法で作成されます。 – Josef
データが受信され、リストに値が設定された後に、DataContextを設定する必要はありますか?私が必要としないプッシュピンをバインドするとき – Josef