我在wpf中有以下DataGrid。DatePicker是單向的,但我需要TwoWay
<DataGrid AutoGenerateColumns="False" Grid.Row="1" Name="adsGrid" ItemsSource="{Binding Path=Ads}" CanUserAddRows="False" CanUserDeleteRows="False" SelectionChanged="adsGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=ID}" IsReadOnly="True" />
<DataGridTextColumn Header="File" Binding="{Binding Path=FileName}" IsReadOnly="True" />
<DataGridTemplateColumn Header="Expiration date" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=ExpirationDate}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Info" Width="100*" Binding="{Binding Path=Info}" />
</DataGrid.Columns>
</DataGrid>
問題是DateTime選取器不會更新相關對象,但會從中讀取值。我試過添加Mode = TwoWay,但它沒有幫助。其他屬性正確更新。
當您在調試應用程序時更改日期選擇器的值時,輸出窗口是否會顯示任何內容? – Jon
可空性會導致失誤。檢查DatePicker.SelectedDate和ExpirationDate屬性是否匹配。如果您在兩者之間使用任何轉換器,請確保其可雙向轉換。還要在綁定中添加「雙向」模式。 –
@AngelWPF他們都是DateTime? – mersadk