我对Silverlight中的绑定有疑问。我为Grid视图数据列创建了我的类:
public class NavigateItemID : GridViewDataColumn
{
public Binding itemID { get; set; }
public Binding usedType { get; set; }
}
这就是我在xaml中实现数据列的地方:
<ext:NavigateItemID UniqueName="objectName"
CellStyle="{Binding Source={StaticResource GridViewCellAlignmentToTop}}"
Width="0.3*"
Header="{Binding Source={StaticResource locResources}, Path=LabelsWrapper.lblObjectNameW}"
TextWrapping="Wrap"
IsReadOnly="True"
DataMemberBinding="{Binding objectName}"
itemID="{Binding itemID}"
usedType="{Binding objectType}" />
我想问一下如何才能获得itemID
的价值?
答案 0 :(得分:0)
以这种方式使用,itemID将始终为null。 Binding类是一个contruct,它在DataContext列中的属性与目标类型的依赖属性之间建立关系。
在这种情况下,假设其他所有内容都已正确设置,您必须更改属性的类型以使Binding工作。
例如:
public class NavigateItemID : GridViewDataColumn
{
public int itemID
{
get { return (int)GetValue(itemIDProperty); }
set { SetValue(itemIDProperty, value); }
}
public static readonly DependencyProperty itemIDProperty =
DependencyProperty.Register("itemID", typeof(int), typeof(NavigateItemID), new PropertyMetadata(0));
public object usedType
{
get { return (object)GetValue(usedTypeProperty); }
set { SetValue(usedTypeProperty, value); }
}
public static readonly DependencyProperty usedTypeProperty =
DependencyProperty.Register("usedType", typeof(object), typeof(NavigateItemID), new PropertyMetadata(null));
}