Я не могу узнать, как получить доступ к моим Window.Resources изнутри раздела ресурсов дочернего элемента управления. У меня есть DataTemplate определяется в контроле за ребенком, и хотим, чтобы DataTemplate связываться с ICommand на моей модели представления (определенный в Window.Resources)WPF: невозможно получить доступ к статическому ресурсу из дочернего элемента управления
EDIT: Я добавил мой RadPaneGroup
код для главного окна XAML. Здесь я создаю объект ProjectsViewModel
. Элемент управления ProjectsView
, содержащийся в RadDocumentPane
, является Child Control, который я перечислял ниже.
Главное окно
<Window.Resources>
<viewModels:ProjectsViewModel x:Key="ProjectsViewModel" />
</Window.Resources>
<telerik:RadDocking HasDocumentHost="False" >
<telerik:RadSplitContainer>
<telerik:RadPaneGroup DataContext="{StaticResource ProjectsViewModel}">
<telerik:RadDocumentPane Header="Projects">
<views:ProjectsView/>
</telerik:RadDocumentPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
...
Контроль за детьми
<Control.Resources>
<!--Data template for the Task object-->
<DataTemplate DataType="{x:Type models:Task}">
<StackPanel>
<TextBlock Text="{Binding DisplayName}" Foreground="Red"
FontSize="16" FontFamily="Verdana" />
<telerik:RadContextMenu.ContextMenu>
<telerik:RadContextMenu >
<telerik:RadMenuItem Header="New Project"
Command="{Binding NewProjectCommand}"/>
</telerik:RadContextMenu>
</telerik:RadContextMenu.ContextMenu>
</StackPanel>
</DataTemplate>
Связывание на выше XAML пытается привязать к объекту Task. Однако моя ICommand находится в ViewModel (ProjectsViewModel). Я попытался изменить привязку к Command="{Binding NewProjectCommand, Source={StaticResource ProjectsViewModel}}
, но это вызывает исключение.
Что я делаю неправильно?
Спасибо,
Является ли ваш _ChildControl_ 'UserControl' или' CustomControl'? – DHN
Мой элемент управления - UserControl - в основном содержит TreeView для одной из панелей в моем главном окне. – Scott
Сделано редактирование, чтобы показать, как экземпляр ProjectsViewModel создается в XAML. – Scott