我有一個DatePicker視圖綁定到我的ViewModel中的DateTime屬性。但是,日期值始終顯示爲空,即使我選擇的值不是默認值。任何人都可以使用DatePicker獲得成功?如果是這樣,我錯了什麼?XAML MVVM DatePicker - 如何獲取數據?
相關代碼:
查看:
<DatePicker x:Name="startDateUpdatePick" HorizontalAlignment="Left" Height="23" VerticalAlignment="Top" Width="120" Margin="1.5"
Text="{Binding SelectedProjectData.ProjectStartDate, UpdateSourceTrigger=PropertyChanged, TargetNullValue=''}"/>
視圖模型:
public PSViewModel()
{
SelectedProjectData = new Project();
}
型號:
public class Project : INotifyPropertyChanged
{
private DateTime _projectStartDate;
public DateTime ProjectStartDate
{
get { return _projectStartDate; }
set
{
_projectStartDate = value;
RaisePropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged([CallerMemberName] string caller = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(caller));
}
}
編輯:XAML被綁定到一個非空的日期時間,但我有其他r datepickers在綁定到可空DateTime的同一設置中,並且它們也不工作。
什麼是DatePicker的DataContext?你的ViewModel甚至不會編譯,所以誰知道那裏實際發生了什麼。項目看起來正確。 – Will
另外,抓住你一個Snoop的副本。您可以在運行時輕鬆調查綁定錯誤。 – Will
是SelectedProjectData的一個公共屬性?您的視圖的DataContext是否設置爲PSViewModel的實例? – plast1k