0

WPF アプリケーションで BGM を使用したいと考えています。ここでわかるように: WPF アプリケーションのバックグラウンド ミュージックを実行するには?

そこで、MediaElement を使用します。

アプリケーションの実行中にソースを変更したいと思います。

私はすでにいくつかの背景画像で似たようなことをしています。そこには、さまざまな「テーマ」を表示するために切り替えているさまざまな ResourceDictionaries があります。

私の辞書の1つは次のようになります。

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <ImageBrush x:Key="Backgroundpic" ImageSource="picture.png"/>

         ...

</ResourceDictionary>

したがって、次のように xaml で使用できます。

...
<Grid x:Name="Bg" Background="{DynamicResource Backgroundpic}"/>
...

しかし、次のように使用できる MediaElement-Source でそれを行うにはどうすればよいですか。

 <MediaElement x:Name="myMediaElement" Source="{DynamicResource ???}" />

ResourceDictionary に何を書き込むべきかわかりません。

4

1 に答える 1

2

Source はUriであるため、リソースが Uri である必要があります。(System.Uri は mscorlib ではなく System アセンブリにあることに注意してください。そのため、String などの型に使用するものとは異なる XML 名前空間が必要です)。

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=System">

    <sys:Uri x:Key="mediaSource">something.mp3</sys:Uri>

で参照できますSource={DynamicResource mediaSource}

于 2010-07-01T11:42:19.927 に答える