オブジェクトのリストにバインドされたListViewがあります。ListViewでアイテムを選択すると、SelectionChanged
イベントがキャッチされ、選択したオブジェクトが詳細ビューに渡されます。
protected void list_selectionChanged(object sender, SelectionChangedEventArgs e) {
var myObject = theList.SelectedItem as MyObjectType;
detailsView.DataContext = myObject;
}
detailsViewは、ListViewと同じWPFのUserControlです。次のようなXAMLが含まれています。
<Label Content="{Binding Path=deviceId}"></Label>
<l:MyUc deviceId="{Binding Path=deviceId}" />
MyUC内に、DependencyPropertyが定義されています。
public static readonly DependencyProperty deviceIdProperty = DependencyProperty.Register("deviceId", typeof(Guid), typeof(MyUC), new FrameworkPropertyMetadata(null));
public Guid deviceId {
get { return (Guid)GetValue(deviceIdProperty); }
set { SetValue(deviceIdProperty, value); }
}
ラベルにはdeviceIdが表示されますが、MyUC内のプロパティが設定されることはありません。
誰かが私の間違いを見つけることができますか?