在视图中设置Datacontext并将其获取到视图文件中

时间:2018-09-03 12:46:04

标签: c# wpf binding datacontext

我目前有此设置:

我的主窗口包含此

 <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')

我确定这是一个新手错误,但我似乎找不到我的错误。 请发送帮助!

谢谢!

0 个答案:

没有答案
相关问题