WPF 如何在用户控件和主视图之间绑定数据?

WPF How to bind data between user control and mainview?

我正在尝试将列表从主视图转移到用户控件。我的解决方案不起作用。除了传输列表外,一切正常。 我的用户控件:

public List<Song> ListIWantTransferFromMainviewToUsercontrol = new List<Song>();
    public View_Playlist()
    {
        InitializeComponent();                  
        ToPlayList.ItemsSource = ListIWantTransferFromMainviewToUsercontrol;
        ToPlayList.Items.Refresh();
    }

我的主要观点:

        var i = Playlists_ListBox.Items.IndexOf(Playlists_ListBox.SelectedItem);
        string y = Playlists[i].Title;
        var z = Playlists[i].Songs;
        View_Playlist view_Playlist = new View_Playlist
        {
            ListIWantTransferFromMainviewToUsercontrol = z
        };
        this.contentControl.Content = view_Playlist;

我应该点击主视图显示的列表框中的项目,运行点击此代码。有没有人可以解决我的问题?感谢您的回复。 用户控件 XAML,列表框部分:

<ListBox Name="ToPlayList" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="4" Background="{x:Null}" >
        <ListBox.ItemContainerStyle>
            <Style TargetType="ListBoxItem">
                <Setter Property="BorderBrush" Value="BlanchedAlmond" />
                <Setter Property="BorderThickness" Value="0" />
                <Style.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Background" Value="Gray" />
                        <Setter Property="BorderThickness" Value="2" />
                    </Trigger>
                    <Trigger Property="IsMouseCaptured" Value="True">
                        <Setter Property="BorderThickness" Value="2" />
                        <Setter Property="Background" Value="Gray" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.ItemTemplate>

            <DataTemplate>
                <Grid Margin="0,2" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="30"/>
                        <ColumnDefinition Width="205"/>
                        <ColumnDefinition Width="90" />
                        <ColumnDefinition Width="90" />
                        <ColumnDefinition Width="35" />
                    </Grid.ColumnDefinitions>

                    <CheckBox/>
                    <TextBlock Grid.Column="1" Text="{Binding SongTitle}"  Foreground="White"/>
                    <TextBlock Grid.Column="2" Text="{Binding SongArtist}" Foreground="White"/>
                    <TextBlock Grid.Column="3" Text="{Binding SongDate}" Foreground="White"/>
                    <TextBlock Grid.Column="4" Text="{Binding Duration}" Foreground="White"/>
                </Grid>
            </DataTemplate>

        </ListBox.ItemTemplate>
    </ListBox>

我是通过参数解决的。这不是理想的,但工作。