2013-04-26 96 views
0

绑定用户控件属性在我Windows应用商店的应用程序我想一个属性在逻辑类与另一个属性的用户控件绑定与其他物业

了用户控制“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

assing一些默认值目标属性,看看是否工作。 – JSJ 2013-04-26 13:22:59

+0

@Jodha:我在用户控件构造函数中为它赋值它就像这样: Card_ID =“0”; ,并且意外的错误“对象引用未设置为对象的实例”仍然存在。 任何想法? – TENNO 2013-04-26 13:28:04

+0

@Jodha:非常感谢您的努力。 – TENNO 2013-04-26 14:08:12

回答

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

这是真的,我会更新问题。 谢谢! – TENNO 2013-04-26 13:04:44

+0

嗯,你能不能更新这个问题来包含你现在拥有的东西,而不是旧的非dp版本,并显示问题类型? – devdigital 2013-04-26 13:25:23

+0

问题已更新,我真的不知道是什么原因导致该问题。 – TENNO 2013-04-26 13:40:06