У меня есть UserControl, который я добавил Dependency Property для:Проблемы привязки данных к DependencyProperty на UserControl
public partial class WordControl : UserControl
{
// Using a DependencyProperty as the backing store for WordProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty WordProperty =
DependencyProperty.Register("WordProperty", typeof(string), typeof(WordControl), new FrameworkPropertyMetadata("", OnWordChange));
public string Word
{
get { return (string)GetValue(WordProperty); }
set { SetValue(WordProperty, value); }
}
, который работает хорошо, когда я вручную установить свойство Word, в XAML:
<WordGame:WordControl Word="Test"></WordGame:WordControl>
Однако, я хочу, чтобы затем использовать этот UserControl как часть товара Шаблон для ListBox и использования привязки данных, чтобы установить слово:
<ListBox Name="WordList" IsEnabled="False" IsHitTestVisible="False">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<WordGame:WordControl Word="{Binding}"></WordGame:WordControl>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Который дает следующее сообщение об ошибке, когда я запустить его:
A «Binding» не может быть установлен на территории «слово» типа «WordControl». «Связывание» может быть установлено только на DependencyProperty объекта DependencyObject.
Поскольку UserControl наследует объект DependencyObject, я могу только предположить, что проблема связана с DependencyProperty, но ни один из них не нашел ответа.
Любые идеи?