我创建了两个 UserControl,第一个显示对象列表,第二个显示从第一个中选择的对象的详细信息。我在第一个控件上创建了一个依赖属性,并将每个 UserControl 绑定到我的 Resources 集合中声明的对象。我已经看到博客文章描述了这一点,但似乎无法让它发挥作用。我收到 XamlParseException。有趣的是,只有当我在我的第一个 UserControls 上设置绑定 Mode=TwoWay 时才会出现异常。这是代码...
页面.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>
项目列表.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); }
}
欢迎任何建议!