Привязка Silverlight: пользовательские элементы управления внутри сетки данных - PullRequest
1 голос
/ 02 апреля 2010

У меня в приложении Silverlight есть DataGrid с несколькими столбцами. Пара основных столбцов, связанных без проблем. В одном столбце есть UserControl, а XAML выглядит следующим образом:


<data:DataGridTemplateColumn Header="" CanUserSort="True" Width="107">
    <data:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <local:StaticPageEnlistment EnlistmentName="{Binding SiteName}" Width="400" Height="150"/>
        </DataTemplate>
    </data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>

Итак, у меня есть открытое свойство - строка EnlistmentName, которую я связал со значением SiteName. Я использую это же "{Binding SiteName}" во всех других моих столбцах без проблем, почему пользовательский элемент управления не может принять ту же строку привязки?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2010

Является ли EnlistmentName свойством DependencyProperty? Согласно MSDN , целью привязки должен быть DependencyProperty.

0 голосов
/ 02 апреля 2010

Похоже, вы не реализовали EnlistmentName как свойство DependencyProperty. Это можно сделать в своем пользовательском элементе управления StaticPageEnlistment следующим образом: -

    public string EnlistmentName
    {
        get { return GetValue(EnlistmentNameProperty) as string; }
        set { SetValue(EnlistmentNameProperty, value); }
    }

    public static readonly DependencyProperty EnlistmentNameProperty =
            DependencyProperty.Register(
                    "EnlistmentName",
                    typeof(string),
                    typeof(StaticPageEnlistment ),
                    new PropertyMetadata(null));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...