我的程序中有一個間隔,保存爲TimeSpan
。我想將這個值綁定到一個滑塊來輕鬆調整TimeSpan。我的計劃是這樣的,但它不工作(它什麼都沒有):將時間跨度綁定到滑塊
編輯:改變基礎上,回答了一些代碼,但我仍然有同樣的問題
public partial class MainWindow : Window, INotifyPropertyChanged
{
...
TimeSpan measure_gap = TimeSpan.FromSeconds(1); //init
public double Measure_gap
{
get
{
return measure_gap.TotalSeconds;
}
set
{
if (value != measure_gap.TotalSeconds)
{
measure_gap = TimeSpan.FromSeconds(value);
OnPropertyChanged("Measure_gap");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
這裏是我的綁定(我認爲這個問題是在這裏)
<Slider HorizontalAlignment="Left" Height="25" Margin="38,202,0,0"
VerticalAlignment="Top" Width="217" Minimum="1" Maximum="10" SmallChange="1"
Value="{Binding ElementName=MainWindow, Path=Measure_gap, Mode=TwoWay}"/>
所以我的問題是,我在做什麼錯了:-)感謝 編輯:this..BindingContext =這個
你基本上從不告訴UI你的價值已經改變。 Google for'INotifyPropertyChanged'。在這種情況下,我會親自選擇使用「DependencyProperty」。 – deloreyk