我目前有此设置:
我的主窗口包含此
<Window.DataContext>
<viewModel:MainViewModel/>
</Window.DataContext>
<DockPanel>
<view:SymbolListView DataContext="{Binding Path=SymbolListViewModel}" DockPanel.Dock="Left"/>
<Border DockPanel.Dock="Left" BorderBrush="Black" BorderThickness="1" Margin="5,0,0,0"/>
<view:SymbolTabView DockPanel.Dock="Bottom" />
<view:SymbolView/>
</DockPanel>
我的视图模型中有以下内容
public SymbolListViewModel SymbolListViewModel { get; set; }
public MainViewModel()
{
SymbolListViewModel = new SymbolListViewModel();
}
但是在我的SymbolListView中,我需要掌握先前设置的datacontext并使用它。但是,这似乎不起作用。
<Grid>
<ItemsControl x:Name="ItemsControl" ItemsSource="{Binding Path=Symbols}">
SymbolListView中的这一行试图绑定到mainViewModel而不是SymbolListViewModel的给定上下文。如果我正确读取以下错误,则为:
System.Windows.Data Error: 40 : BindingExpression path error: 'Symbols' property not found on 'object' ''MainViewModel' (HashCode=66824994)'. BindingExpression:Path=Symbols; DataItem='MainViewModel' (HashCode=66824994); target element is 'ItemsControl' (Name=''); target property is 'ItemsSource' (type 'IEnumerable')
我确定这是一个新手错误,但我似乎找不到我的错误。 请发送帮助!
谢谢!