1

Windows Phone プロジェクトのバインドに問題があります。クラスをスライダーにバインドしていますが、値が更新されません。アプリを最初に起動すると、バインド接続が正しく確立され、スライダーの値が正しくなります。しかし、「位置」または「期間」の値を変更すると、スライダーはそれで更新されません。

手伝ってくれませんか?私が間違っていることは何の手がかりもありません:(

Class.cs:

public class Status : INotifyPropertyChanged
{
  public event PropertyChangedEventHandler PropertyChanged;
  private void PropChanged(string propName)
  {
    if (PropertyChanged != null)
    {
      PropertyChanged(this, new PropertyChangedEventArgs(propName));
    }
  }

  public double duration
  {
    get { return _duration; }
    set
    {
      if (this._duration == value)
        return;

      _duration = value;
      PropChanged("duration");
    }
  }

  public double position
  {
    get { return _position; }
    set
    {
      if (this._position == value)
        return;

      _position = value;
      PropChanged("position");
    }
  }
}

MainPage.xaml.cs:

public partial class MainPage : PhoneApplicationPage
{
  public MainPage()
  {
    this.ContentPanel.DataContext = _Status;
  }
}

MainPage.xaml:

 ...
<Grid x:Name="ContentPanel" Margin="12,12,12,0" Grid.RowSpan="2">
    <Slider x:Name="sl_PlayBackProgress"
            Value="{Binding Path=position}"
            Maximum="{Binding Path=duration}"
            Height="91"
            HorizontalAlignment="Left"
            Margin="0,40,0,0"
            VerticalAlignment="Top"
            Width="408"/>
</Grid>
...
4

1 に答える 1

2

通常の XAML/WPF と違うのかはわかりません。しかし、通常の場合、最初にBinding.Modeを TwoWay に設定し、次に position.set の入り口で中断することをお勧めします。value

于 2012-06-17T20:05:58.873 に答える