我無法找到如何從子控件的資源部分訪問我的Window.Resources。我在子控件被定義一個DataTemplate,並希望這樣的DataTemplate綁定到一個ICommand我的視圖模型(在Window.Resources定義)WPF:無法從子控件訪問靜態資源
編輯:我說我RadPaneGroup
代碼到主窗口XAML。這是我實例化ProjectsViewModel
對象的地方。包含在RadDocumentPane
中的ProjectsView
控件是我在下面列出的子控件。
主窗口
<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綁定是試圖綁定到任務對象。但是,我的ICommand位於ViewModel(ProjectsViewModel)中。我試圖將綁定更改爲Command="{Binding NewProjectCommand, Source={StaticResource ProjectsViewModel}}
,但是這會引發異常。
我在做什麼錯?
感謝,
您的_ChildControl_是UserControl還是CustomControl? – DHN 2013-03-25 07:46:06
我的控件是用戶控件 - 基本上在我的主窗口中爲其中一個窗格保留了一個TreeView。 – Scott 2013-03-25 17:04:53
進行編輯以顯示如何在XAML中實例化ProjectsViewModel。 – Scott 2013-03-25 20:49:21