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>
...
將Binding.Mode設置爲'TwoWay'未做任何更改。 '位置'變量也被正確更新。 我認爲這是綁定本身的問題。如果我手動將'最大'屬性設置爲一個靜態值,滑塊更新正確。是否有可能,這對兩個屬性都沒有約束力? – S0me0ne
編輯:對不起,我必須糾正自己。我已經重讀了TwoWay並將其設置爲「OneWay」......我的錯,對不起! 但是,你可以向我解釋一下,爲什麼我必須把它設置爲'TwoWay'?據我瞭解,我做了一個'單向'綁定。 – S0me0ne