在我的 Windows应用商店应用中,我想将用户控件中的Property与逻辑类中的另一个属性绑定
用户控件“Card_UC.xaml.cs”包含此属性:
public string Card_ID
{
get { return (string)GetValue(Card_ID_Property); }
set { SetValue(Card_ID_Property, value); }
}
public DependencyProperty Card_ID_Property =
DependencyProperty.Register(
"Card_ID",
typeof(string),
typeof(Card_UC),
new PropertyMetadata(null));
并在我的逻辑类“Card_Data.cs”中:
public string Card_ID { get; set; }
在主页面中我想使用像这样的数据绑定来制作这些卡片的网格
<GridView
x:Name="UI_GView_Cards"
ItemsSource="{Binding}">
<GridView.ItemTemplate>
<DataTemplate>
<local:CardControl
x:Name="UC_Card"
CardPressed="CardControl_CardPressed"
ID="{Binding Path=Card_ID, ElementName=Card_UC, Mode=TwoWay}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
“Card_UC.xaml”中的所有其他属性绑定工作除 Card_ID
现在的问题是,每次使用
访问ID属性时应用程序都会崩溃return (string)GetValue(Card_ID_Property);
错误:“对象引用未设置为对象的实例。”
问题已解决:
这一行的问题:
ID="{Binding Path=Card_ID, ElementName=Card_UC, Mode=TwoWay}"
更改为:
ID="{Binding Card_ID}"
编辑:
答案 0 :(得分:0)
看起来你有剪切和粘贴错误:
public string Card_ID
{
get { return (string)GetValue(UCAppsProperty); }
set { SetValue(UCAppsProperty, value); }
}
为:
public string Card_ID
{
get { return (string)GetValue(Card_ID_Property); }
set { SetValue(Card_ID_Property, value); }
}