В моем приложении WPF + MVVM у меня есть View, в котором находится другой usercontrol.Дочерний usercontrol не следует пути MVVM (потому что я просто размещаю там объект Visio activeX), поэтому я использую код класса.
В представлении я использую этот код:
<uc:VisioControl Grid.Row="2" x:Name="visioControlUC"
VisioFileName="{Binding ElementName=tbFullFileName,Path=Text, UpdateSourceTrigger=PropertyChanged}"/>
В том же виде у меня есть элемент Label, в котором я хочу отобразить значение поля DependencyProperty
с именем SelectedNodeCustomProperties
, определенное в дочернем пользовательском элементе управления
<Label x:Name="lbNodeIdValue" DataContext="{Binding ElementName=visioControlUC}" Content="{Binding Path=SelectedNodeCustomProperties.Id, UpdateSourceTrigger=PropertyChanged}"/>
Однако это не работает.Работая в режиме отладки, я вижу это исключение привязки в окне «Вывод»:
BindingExpression path error: 'visioControlUC' property not found on 'object' ''NSDVizualizerViewModel' (HashCode=65573909)'. BindingExpression:Path=visioControlUC.SelectedNodeCustomProperties.NodeId; DataItem='NSDVizualizerViewModel' (HashCode=65573909); target element is 'Label' (Name=''); target property is 'Content' (type 'Object')
Итак, почему он ожидает, что дочерний пользовательский элемент управления будет определен в модели представления, и как я могу установить для DataContext значениепользовательский элемент управления при привязке содержимого ярлыка?
Спасибо,
Адриан
РЕДАКТИРОВАТЬ: человеку, который отклонил мой вопрос, может быть, вы можете объяснить, почему?Есть ли на форуме похожий вопрос, который я, возможно, не нашел?