私はobservablecollectionメンバを持つviewmodelを持っています。usercontrolのデータコンテキストがnullです
私はこのコレクションにバインドするusercontrolを作成しました。のコレクションのすべてアイテムはユーザーコントロールコンストラクタになります。このコンストラクタでは、datacontextはnullです。それはなぜですか?
<ItemsControl ItemsSource="{Binding ListOfMyCustomType}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<uc:Tile DataContext="{Binding Path=.}"></uc:Tile>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
編集:
デバッグ出力にはBindingExpressionエラーはありません。
編集:マティアスが解決しよう
は、DataContextのはこの時点では使用できません。コントロールがロードされたとき、またはdatacontextが変更されたときに使用可能になります。いいぞ!
よろしく、
ミシェル
私は制御電流Ie、デフォルトのDataContextを使用しますので、私もパス=を._ _binding削除することができますねコレクション内のアイテム。 –
あなたのxamlは上手く見えます。コンストラクタの実行時にDataContextが設定されていないことをイメージできます。 UserControl.Loadedイベントにアタッチし、そこにDataContextを使用してみてください。 – MatthiasG
さらに優れた方法:DataContextChangedイベントを使用します。 – MatthiasG