我正在创建一个小应用程序,其中有一个按钮列表,每个按钮播放.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:抱歉我的英文
答案 0 :(得分:0)
你必须找到合适的“玩家”,因为你有多个玩家。您可以找到CurrentItem
的{{1}},然后在调用ListBox
之前使用控件的name
查找Player
。
此link包含示例代码。希望能帮助到你。
顺便说一下,另一种方法是使用一个单一的媒体播放器(即列表框外的一个实例),并在调用play()之前用每个记录的url /地址设置它的源。如果用户一次只能播放一个文件,这可能会使您更容易管理。 IIRC,也可能是WP应用程序的规则。