0

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); }
    }

どんな提案も大歓迎です!

4

1 に答える 1