【发布时间】:2015-01-15 00:59:19
【问题描述】:
我正在尝试绑定到媒体元素,但我的所有尝试都失败了, 后面的代码:-
private void myg_ItemClick(object sender, ItemClickEventArgs e)
{
string str = ((EgyGuide.Models.Arabic)e.ClickedItem).Sound;
MediaElement m1 = new MediaElement();
m1.Source = new System.Uri("ms-appx:///" + str);
m1.Play();
}
XAML:-
<GridView x:Name="myg"
IsItemClickEnabled="True"
ItemClick="myg_ItemClick">
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding English}"
FontSize="22" />
<TextBlock Text="{Binding Arabia}"
FontSize="22" />
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
当我将源代码直接创建到我的 XAML 时,它正在工作,但现在当我使用此代码后它不再工作时,声音根本不播放。 请问有什么帮助让它工作吗? 谢谢
【问题讨论】:
-
首先,请将代码放在代码块中,不是图像(例如,您的第一个很难阅读)。其次,你得到了什么错误? “它不起作用”不是问题陈述。
-
我没有收到错误绑定根本不起作用,没有声音播放。图片已删除。
-
好的,但是你有任何
System.Data例外吗?绑定非常很少静默失败。 -
完全没有,但我相信这可能与 URI 有关?因为当我在 xaml 中创建另一个媒体元素,然后在我的代码中,当分配了我使用当前源创建的媒体元素源时,媒体元素的声音成功播放。 :(
-
当然可以。在代码隐藏中构建 Source Uri 比 XAML 复杂得多。不过应该是可以的。
标签: c# xaml data-binding windows-store-apps win-universal-app