0

我有一个关于在 Silverlight 中绑定的问题。我为网格视图数据列做了我的课程:

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

4

1 回答 1

0

以这种方式使用,itemID 将始终为空。Binding 类是一个构造,它在 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));
}

阅读本文以了解有关数据绑定的更多信息

于 2013-01-30T19:36:26.817 回答