我有一個 WPF 應用程式,并且來自資料網格的 DataTemplate 中的 DatePicker 存在問題。
我假設系結的路徑錯誤(WTimeClockOverviewVM 而不是 ClassTimeTrackingTimeStamp)。
但是,當我嘗試系結屬性時,日期選擇器控制元件為空。
第一個系結 (id) 成功運行。
有人有什么想法嗎?
XAML:
<DataGrid Grid.Column="0"
Grid.Row="1"
x:Name="DgStempelungen"
Margin="0 10 10 0"
AutoGenerateColumns="False"
CanUserAddRows="True"
SelectedItem="{Binding SelectedValue}"
ItemsSource="{Binding TimeDetailList}">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}"/>
<DataGridTemplateColumn Header="KOMMEN DATUM">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker Text="{Binding ComeBooking}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
查看模型
[CanBeNull]
private ObservableCollection<ClassTimeTrackingTimeStamp> _timeDetailList;
[CanBeNull]
public ObservableCollection<ClassTimeTrackingTimeStamp> TimeDetailList
{
get { return _timeDetailList; }
set
{
_timeDetailList = value;
OnPropertyChanged();
}
}
模型
public class ClassTimeTrackingTimeStamp
{
public DateTime ComeBooking { get; set; }
public DateTime GoBooking { get; set; }
public int Id { get; set; }
public string Info { get; set; }
}
uj5u.com熱心網友回復:
像這樣系結ComeBooking到 SelectedDate 屬性
<DatePicker SelectedDate="{Binding ComeBooking}"/>
要支持從源更改 DatePicker 的 SelectedDate,您應該實作 INotifyPropertyChanged
public class ClassTimeTrackingTimeStamp : INotifyPropertyChanged
{
private DateTime _comeBooking;
public DateTime ComeBooking
{
get => _comeBooking;
set
{
_comeBooking = value;
OnPropertyChanged();
}
}
private DateTime _goBooking;
public DateTime GoBooking
{
get => _goBooking;
set
{
_goBooking = value;
OnPropertyChanged();
}
}
public int Id { get; set; }
public string Info { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/509953.html
標籤:C#。网wpfxml
下一篇:如何準確找出哪個pom依賴項?
