zoukankan      html  css  js  c++  java
  • 音乐播放器之加载我的音乐

    1.引言

        在后台完成歌曲的读取之后,那么应该考虑如何将读取到歌曲以一种用户友好的方式呈现到页面中。在这里,我使用ListView控件的方式,通过数据绑定的方式加载到页面之中。

    2.ListView控件的使用

    2.1 ListView控件的介绍

        LitsView控件是Windows10里面一个高效列表控件,功能上要比ListBox控件更强大,对我个人而言,ListView可以通过SelectionModes属性来设置在点击时候不会显示被点击过的样式是我比较青睐ListView的原因。

    2.2 ListView控件的具体使用

    <ListView FontSize="22" x:Name="LstViewPlayList" HorizontalAlignment="Left" Margin="0,5,10,1" VerticalAlignment="Top" Width="280" ScrollViewer.VerticalScrollBarVisibility="Auto"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" IsItemClickEnabled="True" ItemClick="LstViewPlayList_ItemClick" SelectionMode="None">
        <ListView.ItemTemplate>
            <DataTemplate>
                <Grid Height="24">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="48"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <FontIcon FontFamily="Segoe MDL2 Assets" Glyph="&#xE8D6;" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="-14,0,0,0" Width="48" Height="20" />
                    <TextBlock Grid.Column="1" Text="{Binding Title}"  Margin="-8,0,0,0" VerticalAlignment="Center" />
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    

    ListView控件的模板也可以有另外一种写法:将DataTemplate放在页面上的资源上,将资源的Key值取为MusicItemplate,为ListView的Itemplate设置为
    {StaticResources MusicItemplate}就可以了。

    2.3 为ListView控件绑定数据

        重载MyMusicPage的OnNavigatedTo方法,将SongManager中读取的歌曲集合赋值给ListView的ItemsSource就可以了,代码如下:

    protected override async void OnNavigatedTo(NavigationEventArgs e)
    {
        this.Loading.IsActive = true;
        songs = await SongManager.BuildSongsAsync();
        LstViewPlayList.ItemsSource = songs;
        this.Loading.IsActive = false;
    }
    
    • 说明:songs是存放Song类型的IList集合,为MyMusicPage类的一个私有字段,外界可以通过Songs属性访问,但是不可以重新赋值,这样做是为了便于与其他页面交换歌曲数据,而不是再次从安装包中读取。

    3.效果展示

    图片展示

  • 相关阅读:
    Ubuntu在下面LAMP(Linux+Apache+MySQL+PHP) 开发环境的搭建
    直接插入排序、折半插入排序、Shell排序、冒泡排序,选择排序
    java插入字符串
    bash,bg,bind,break,builtin,caller,compgen, complete,compopt,continue,declare,dirs,disown,enable,eval,exec,expo
    socket用法
    org.jsoup.select.Selector
    达达技术
    CentOS 6.4 文件夹打开方式
    shell加法
    shell统计
  • 原文地址:https://www.cnblogs.com/xiao2/p/7092211.html
Copyright © 2011-2022 走看看