2 つの UserControls を作成しました。1 つ目はオブジェクトのリストを表示し、2 つ目は最初から選択されたオブジェクトの詳細を表示します。最初のコントロールに依存関係プロパティを作成し、各 UserControl を Resources コレクションで宣言されたオブジェクトにバインドしています。これについて説明しているブログ記事を見たことがありますが、うまく動作しないようです。XamlParseException が発生しています。面白いことに、最初の UserControls でバインディング Mode=TwoWay を設定した場合にのみ例外が発生します。これがコードです...
Page.xaml
<UserControl.Resources>
<local:Item x:Key="SelectedItem" />
</UserControl.Resources>
...
<controls:ItemList
SelectedItem="{Binding Mode=TwoWay, Source={StaticResource SelectedItem}}">
</controls:ItemList >
...
<controls:ItemDetails
DataContext="{Binding Source={StaticResource SelectedItem}}">
</controls:ItemDetails>
ItemList.xaml.cs
public partial class ItemList: UserControl
{
public ItemList()
{
InitializeComponent();
}
public static readonly DependencyProperty SelectedItemProperty =
DependencyProperty.Register("SelectedItem", typeof(Item), typeof(ItemList), new PropertyMetadata(new Item()));
public Item SelectedItem
{
get { return (Item )GetValue(SelectedItemProperty ); }
set { SetValue(SelectedItemProperty , value); }
}
どんな提案も大歓迎です!