Wpf 将MediaElement绑定到滑块位置

Wpf 将MediaElement绑定到滑块位置,wpf,binding,mediaelement,Wpf,Binding,Mediaelement,我有MediaElement和Slider。如何在没有Dispatchermer的情况下将MediaElement.Position绑定到Slider.Value?好,这可能是: <Slider x:Name="PositionSlider" Minimum="0" Maximum="{Binding ElementName=mediaElement, Path=mediaElem

我有MediaElement和Slider。如何在没有Dispatchermer的情况下将MediaElement.Position绑定到Slider.Value?

好,这可能是:

<Slider 
    x:Name="PositionSlider"  
    Minimum="0" 
    Maximum="{Binding 
                  ElementName=mediaElement,  
                  Path=mediaElement.NaturalDuration.TimeSpan.TotalMilliseconds}"   
 />

<MediaElement 
    x:Name="mediaElement"
    Position="{Binding Value, 
               ElementName=PositionSlider, 
               Converter={StaticResource MyMsToTimeSpanConverter}}"  />

!!但是位置不是依赖项属性,因此不能对其进行任何绑定。当你说“它不起作用”。。。当然不会,也永远不会。绑定需要依赖属性

因此,您应该像Microsoft为其MediaElement小型演示所做的那样:在代码隐藏中处理所有内容。

是的。我把Minimum=“0”max=“{Binding ElementName=medialelement,Path=medialelement.NaturalDuration.TimeSpan.totalmillizes}”,但Value=“{Binding ElementName=medialelement,Path=Position.totalmillizes}”-我不能把totalmillizes,因为它不适用于只读的Total毫秒。。。你能解释一下我必须做什么吗?如果我设置了Minimum=“0”max=“{Binding ElementName=medialelement,Path=medialelement.NaturalDuration.TimeSpan}”Value=“{Binding ElementName=medialelement,Path=Position,Mode=TwoWay}”,它就不起作用了((对不起,我问错了问题。我想在mediaElement播放ok时滑块的拇指也改变了它自己的位置。但是现在既然你不想使用计时器,你会怎么做呢?也许使用LayoutUpdated事件刷新滑块…可能对电影没问题,但对音乐没问题…但是为什么不使用计时器呢?比如每秒5次我会这样做不会减慢应用程序的速度…我在笔记本上这样做很好,但电池不工作,有时玩起来也不好。你认为这是因为电池不工作吗?