Работа с ListView SelectedItem в WPF MVVM

пишу программу на диплом, но совершенно не могу понять и найти нужную мне информацию. В общем у меня есть вкладка со справочниками, где находятся два элемента ListBox. В одном находятся категории справочников, а во втором должны выводиться элементы, которые содержаться конкретно в этой категории.

Так это все выглядит

Как это реализовать? База данных если что используется SQLite. Привожу свой код:

NotifyPropertyChanged.cs

using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace DogsRun.Common
{
    public class NotifyPropertyChanged : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
            => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

CatalogModel.cs

using DogsRun.Common;
using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace DogsRun.Models
{
    public class CatalogModel : NotifyPropertyChanged
    {
        private string element;

        public string Element 
        {
            get { return element; }
            set 
            {
                element = value;
                OnPropertyChanged("Element");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged([CallerMemberName] string prop = "")
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(prop));
        }
    }
}

CatalogViewModel.cs

private CatalogModel selectedCatalog;

public ObservableCollection<CatalogModel> Elements { get; set; }
public CatalogModel SelectedCatalog 
{ 
    get { return selectedCatalog; }
    set
    {
        selectedCatalog = value;
        OnPropertyChanged("SelectedCatalog");
    }
}

public CatalogViewModel()
{
    Elements = new ObservableCollection<CatalogModel>
    {
        new CatalogModel { Element = "Gar" },
        new CatalogModel { Element = "Afe" }
    };
}

public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName] string prop = "")
{
    if (PropertyChanged != null)
        PropertyChanged(this, new PropertyChangedEventArgs(prop));
}

CatalogView.xaml

            <!--Reference Select-->
            <Border CornerRadius="20" Padding="0 25" Background="#243771" Margin="50 0 10 40">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="20 0 0 15">
                        <fa:IconImage Icon="TableColumns" Style="{StaticResource titleIcon}" />
                        <TextBlock Text="Выбор справочника" Style="{StaticResource titleText}" />
                    </StackPanel>

                    <ListView Grid.Row="1" Background="Transparent" BorderThickness="0" SelectedItem="{Binding SelectedCatalog}">
                        <ListViewItem>
                            <uc:Catalog Title="Породы" Icon="Dog" />
                        </ListViewItem>
                        <ListViewItem>
                            <uc:Catalog Title="Возрастной класс" Icon="Dog" />
                        </ListViewItem>
                        <ListViewItem>
                            <uc:Catalog Title="Пол" Icon="Dog" />
                        </ListViewItem>
                        <ListViewItem>
                            <uc:Catalog Title="Жюри" Icon="Person" />
                        </ListViewItem>
                        <ListViewItem>
                            <uc:Catalog Title="Владелец" Icon="Person" />
                        </ListViewItem>
                    </ListView>
                </Grid>
            </Border>

            <!--Reference Elements-->
            <Border Grid.Column="1" CornerRadius="20" Padding="0 25" Background="#243771" Margin="15 0 47 40">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="100" />
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="20 0 0 15">
                        <fa:IconImage Icon="Person" Style="{StaticResource titleIcon}" />
                        <TextBlock Text="Элементы" Style="{StaticResource titleText}" />
                    </StackPanel>

                    <ListView Grid.Row="1" Background="Transparent" BorderThickness="0" DataContext="{Binding SelectedCatalog}">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Path=Element}" />
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>

                    <StackPanel Grid.Row="2">
                        <Button Style="{StaticResource baseButton}">
                            <StackPanel Orientation="Horizontal">
                                <fa:IconImage Icon="Plus" Style="{StaticResource menuButtonIcon}" />
                                <TextBlock Text="Добавить" Style="{StaticResource menuButtonText}"/>
                            </StackPanel>
                        </Button>
                        <Button Style="{StaticResource baseButton}">
                            <StackPanel Orientation="Horizontal">
                                <fa:IconImage Icon="TrashCan" Style="{StaticResource menuButtonIcon}" />
                                <TextBlock Text="Удалить" Style="{StaticResource menuButtonText}"/>
                            </StackPanel>
                        </Button>
                    </StackPanel>
                </Grid>
            </Border>

Ответы (0 шт):