XAML代碼:(!視圖模型的靜態實例 - 只是一個測試)WP8.1 DatePicker的結合 - 值永遠不會被更新
<DatePicker Date="{Binding DateTimeOffsetTest}"></DatePicker>
DataContext設置App.ViewModel
視圖模型:
public class ViewModel : INotifyPropertyChanged
{
private DateTimeOffset _dateTimeOffsetTest = new DateTimeOffset(new DateTime(1980, 10, 10));
public DateTimeOffset DateTimeOffsetTest
{
get { return _dateTimeOffsetTest; }
set
{
_dateTimeOffsetTest = value;
//Was OnPropertyChanged(""); (Thanks to Will for fix)
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}
對於測試,我簡單地初始化ViewModel作爲應用程序中的靜態實例。 我將此代碼添加到該按鈕的單擊事件處理程序:
App.ViewModel.DateTimeOffsetTest = new DateTimeOffset(new DateTime(1988, 09, 11));;
問題是,DatePicker的行爲就像它曾經的結合。如果我更新ViewModel中的屬性,DatePicker將不會更新。我試着將模式設置爲OneWay並更改UpdateSourceTrigger,但它不起作用。
有沒有人有解決方案?
如果一切正常,它應該工作。一切都不正確。您需要添加該屬性的代碼,以及如何從代碼更新它的示例。毫無疑問,你在那裏有一個錯誤。 – Will
編輯過的信息包含所有需要的信息。感謝您的幫助@Will – Millkovac
並且有了這些信息,我們有一個答案!一個簡單的修復,你會在你的路上。 – Will