如何将控件的引用传递给XAML中的另一个控件

use*_*610 10 data-binding wpf controls

我需要将控件的引用传递给另一个自定义控件.我创建了一个包含依赖项属性的自定义控件associateDatagridProperty

    public static readonly DependencyProperty
        AssociatedDataGridProperty = DependencyProperty.Register(
            "AssociatedDatagrid",
            typeof(DataGrid),
            typeof(CustomControl),
            new FrameworkPropertyMetadata(null,
                FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)
            );

    public Datagrid AssociatedDatagrid
    {
        get { return (Datagrid )base.GetValue(AssociatedDataGridProperty); }
        set { base.SetValue(AssociatedDataGridProperty, value); }
    }
Run Code Online (Sandbox Code Playgroud)

在XAML中我像这样分配值

<Datagrid x:name=ClientGrid />
Run Code Online (Sandbox Code Playgroud)

这里的Datagrid是Microsoft WPF工具包datagrid

<CustomControl x:Name="DatagridPaging"  
               Canvas.Left="24"    
               Canvas.Top="236"
               AssociatedDatagrid="{Binding ElementName=clientsGrid ,Path=Name}">
Run Code Online (Sandbox Code Playgroud)

当我尝试访问AssociatedDatagrid属性的值时,它总是显示 null

谁能告诉我正确的做法?

Jon*_*INE 16

这是代码:

将在第二个元素中引用的第一个元素:

<Label x:Name="aGivenNameLabel" Content="kikou lol"/>  
Run Code Online (Sandbox Code Playgroud)

第二个要素:

<ContentControl Content={Binding ElementName=aGivenNameLabel}" />
Run Code Online (Sandbox Code Playgroud)

祝好运 !


Pav*_*aev 2

你不需要Path=Name在你的Binding. 您最终在这里要做的是Name传递DataGrid.