MediaElement在MVVM wp7中绑定mp3文件

时间:2014-01-09 01:53:35

标签: windows-phone-7 mvvm mediaelement

我正在创建一个小应用程序,其中有一个按钮列表,每个按钮播放.mp3文件。由于我有大量文件,我想使用MVVM。

我的代码非常简单:

<ListBox.ItemTemplate>
             <DataTemplate>
                        <StackPanel >                             
                            <Button Height="100" Width="100" Margin="12,0,9,0" Click="Play" x:Name="Button1">
                                <MediaElement x:Name="Player" Source="{Binding mp3}" AutoPlay="False" />
                                <Button.Background>
                                    <ImageBrush Stretch="Fill" ImageSource="{Binding image}"/>
                                </Button.Background>
                            </Button>
                            <StackPanel Width="311">
                                <TextBlock Text="{Binding text}" TextWrapping="Wrap" />
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

xaml.cs我真的不知道该怎么做

private void Play(object sender, EventArgs e)
    {
        Player.Play();
    }

它是“当前上下文中不存在名称'播放器'”即使我将其从按钮中取出

我知道这一定是一个非常简单的问题,但我刚刚开始学习如何编程,所以感谢巡回演出时间

PS:抱歉我的英文

1 个答案:

答案 0 :(得分:0)

你必须找到合适的“玩家”,因为你有多个玩家。您可以找到CurrentItem的{​​{1}},然后在调用ListBox之前使用控件的name查找Player

link包含示例代码。希望能帮助到你。

顺便说一下,另一种方法是使用一个单一的媒体播放器(即列表框外的一个实例),并在调用play()之前用每个记录的url /地址设置它的源。如果用户一次只能播放一个文件,这可能会使您更容易管理。 IIRC,也可能是WP应用程序的规则。