Спасибо за Ваш ответ!

я есть MainWindow с некоторыми кнопками, которые загружают коллекцию:

<Window x:Class="GUI.MainWindow.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:mainWindowViewModel="clr-namespace:GUI.MainWindow"
        xmlns:s="clr-namespace:Helpers"
        xmlns:configuration="clr-namespace:GUI.Configuration"
        xmlns:results="clr-namespace:GUI.Results"
        mc:Ignorable="d"
        Title="{Binding Path=Model.Title}"
        Width="Auto"
        WindowStartupLocation="CenterScreen">

    <Window.Resources>
        <DataTemplate DataType="{x:Type results:ResultViewModel}">
             <results:ResultView/>
        </DataTemplate>
    </Window.Resources>

    <!--DataContext-->
    <Window.DataContext>
        <mainWindowViewModel:MainWindowViewModel />
    </Window.DataContext>
    <!--DataContext-->

    <!--Main Grid-->
    <Grid Name="MainGrid"
          Margin="5"
          HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="8*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <!--Tabs-->
        <TabControl Grid.Row="1"
                    Grid.RowSpan="2"
                    Grid.Column="0"
                    VerticalAlignment="Stretch">

            <!--Result View-->
            <TabItem Header="{Binding Model.TabImportHeader}">
                <ContentControl Content="{Binding ResultViewModel}"/>
            </TabItem>
        </TabControl>
        <!--Tabs-->

        <!--Buttons-->
        <Grid Grid.Row="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Button Grid.Row="0"
                    Grid.Column="0"
                    Margin="10"
                    Height="25"
                    Width="150"
                    Content="Load"
                    Command="{Binding LoadCommand}" />
            <Button Grid.Row="0"
                    Grid.Column="2"
                    Margin="10"
                    Height="25"
                    Width="150"
                    Content="Reload"
                    Command="{Binding ReloadCommand}" />
        </Grid>
        <!--Buttons-->

    </Grid>
    <!--Main Grid-->
</Window>

Тогда у меня есть UserControl, который должен отображать загруженную коллекцию, но ничего не показывает.

<UserControl x:Class="GUI.Results.ResultView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:GUI.Results"
             mc:Ignorable="d">

    <UserControl.DataContext>
        <local:ResultViewModel />
    </UserControl.DataContext>

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="87*" />
            <ColumnDefinition Width="415*" />
            <ColumnDefinition Width="501*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <DataGrid Grid.Column="0"
                              Grid.ColumnSpan="3"
                              Grid.Row="0"
                              ItemsSource="{Binding Model.Collections}"
                              ColumnWidth="*"
                              AutoGenerateColumns="false"
                              HorizontalAlignment="Stretch"
                              IsReadOnly="True">
            <DataGrid.Resources>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="HorizontalContentAlignment"
                                        Value="Center" />
                </Style>
            </DataGrid.Resources>
            <DataGrid.Columns>
                <DataGridTextColumn Header="Filename"
                                                Binding="{Binding ResultInfo.Filename}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Score 1"
                                                Binding="{Binding ResultInfo.Score1, StringFormat=F4, ConverterCulture=de-DE}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Score 2"
                                                Binding="{Binding ResultInfo.Score2, StringFormat=F4, ConverterCulture=de-DE}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Score 3"
                                                Binding="{Binding ResultInfo.Score3, StringFormat=F4, ConverterCulture=de-DE}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Score 4"
                                                Binding="{Binding ResultInfo.Score4, StringFormat=F4, ConverterCulture=de-DE}"
                                                Width="Auto" />
                <DataGridTextColumn Header="SaMP"
                                                Binding="{Binding ResultInfo.SaMP}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Spig"
                                                Binding="{Binding ResultInfo.Spig}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Ppig"
                                                Binding="{Binding ResultInfo.Ppig, StringFormat=00.0##\\%}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Pigment3"
                                                Binding="{Binding ResultInfo.Pigment3}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Pigment4"
                                                Binding="{Binding ResultInfo.Pigment4}"
                                                Width="Auto" />
                <DataGridTextColumn Header="ZQ1"
                                                Binding="{Binding ResultInfo.ZQ1}"
                                                Width="Auto" />
                <DataGridTextColumn Header="ZQ2"
                                                Binding="{Binding ResultInfo.ZQ2}"
                                                Width="Auto" />
                <DataGridTextColumn Header="ZQ3"
                                                Binding="{Binding ResultInfo.ZQ3}"
                                                Width="Auto" />
                <DataGridTextColumn Header="ZQ4"
                                                Binding="{Binding ResultInfo.ZQ4}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Message"
                                                Binding="{Binding ResultInfo.Message}"
                                                Width="Auto" />
                <DataGridTextColumn Header="Distance"
                                                Binding="{Binding ResultInfo.PowDistance, StringFormat=F2, ConverterCulture=de-DE}"
                                                Width="Auto" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</UserControl>

Вот как я помещаю данные в коллекцию (значения есть, если я отлаживаю):

Application.Current.Dispatcher.Invoke(() => MainWindowViewModel.ResultViewModel.Model.Collections.Add(Collection));

Collections является типом ObservableCollection <>;

Кажется, я что-то упустил в привязке, но я довольно новичок в WPF и MVVM, и я не нахожу это. Я читал о DependencyProperty, но я хотел бы иметь ViewModel для моего userControl, так как он со временем станет более сложным.

Я буду очень признателен за любую помощь.

Ответы на вопрос(1)

Ваш ответ на вопрос