Ниже приводится только краткое изложение сути проблемы.
Я определил класс с одним свойством зависимости, как показано ниже.
public class TestMap : DependencyObject
{
public bool TestProperty
{
get { return (bool)GetValue(TestPropertyProperty); }
set { SetValue(TestPropertyProperty, value); }
}
public static readonly DependencyProperty TestPropertyProperty =
DependencyProperty.Register("TestProperty", typeof(bool), typeof(TestMap), new PropertyMetadata(false));
}
Теперь я собираюсь используйте вышеупомянутый класс в UserControl. Следующий код является примером.
public class UserControl1 : Control
{
public TestMap TestMap { get; set; }
}
И я использовал UserControl1 в главном окне, как показано ниже.
<Window>
<Grid>
<local:UserControl1 />
</Grid>
</Window>
Приведенный выше код работает хорошо, но если я пытаюсь привязать к TestMap .TestProperty что я должен делать? Я попробовал следующий код, но он не работает. (Предположим, что ViewModel привязана)
<Window>
<Grid>
<local:UserControl1 TestMap.TestProperty="{Binding ViewModelProperty}"/>
</Grid>
</Window>
Сообщение об ошибке для кода выше, как показано на рисунке ниже.
Ошибка сообщение «Не удалось найти подключаемое свойство TestProperty» в формате «TestMap».
Спасибо за чтение.