Установка Datacontext в представлении и захват его в файле представления - PullRequest
0 голосов
/ 03 сентября 2018

У меня сейчас есть эта настройка:

Мое главное окно содержит это

 <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 мне нужно захватить ранее установленный текстовый текст и использовать его. Это, однако, не похоже на работу.

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

Я уверен, что это ошибка новичка, но я не могу найти свою ошибку. Пожалуйста, пришлите помощь!

Спасибо!

...