У меня проблемы с установкой свойства пользовательского элемента управления с помощью DependencyProperty через привязку данных в родительском UserControl.
Вот код для моего пользовательского элемента управления UserControl:
public partial class UserEntityControl : UserControl
{
public static readonly DependencyProperty EntityProperty = DependencyProperty.Register("Entity",
typeof(Entity), typeof(UserEntityControl));
public Entity Entity
{
get
{
return (Entity)GetValue(EntityProperty);
}
set
{
SetValue(EntityProperty, value);
}
}
public UserEntityControl()
{
InitializeComponent();
PopulateWithEntities(this.Entity);
}
}
Я хочу получить доступ к свойству Entity в коде, потому что это будет динамически создавать пользовательский элемент управления на основе значений, хранящихся в Entity. У меня проблема в том, что свойство Entity никогда не устанавливается.
Вот как я настраиваю привязку в родительском пользовательском элементе управления:
<ListBox Grid.Row="1" Grid.ColumnSpan="2" ItemsSource="{Binding SearchResults}" x:Name="SearchResults_List">
<ListBox.ItemTemplate>
<DataTemplate>
<!--<views:SearchResult></views:SearchResult>-->
<eb:UserEntityControl Entity="{Binding}" ></eb:UserEntityControl>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я устанавливаю для ItemsSource объекта ListBox значение SearchResults, которое является наблюдаемой коллекцией сущностей (того же типа, что и сущность в пользовательском элементе управления UserControl).
Я не получаю никаких ошибок привязки во время выполнения в окне вывода отладки. Я просто не могу установить значение свойства Entity. Есть идеи?