diff --git a/src/Columns/TableViewDateColumn.cs b/src/Columns/TableViewDateColumn.cs index 1c3db4e..ee273fe 100644 --- a/src/Columns/TableViewDateColumn.cs +++ b/src/Columns/TableViewDateColumn.cs @@ -2,6 +2,8 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Data; using System; +using Windows.Globalization.DateTimeFormatting; +using Windows.System.UserProfile; using WinUI.TableView.Controls; using WinUI.TableView.Extensions; using WinUI.TableView.Helpers; @@ -19,6 +21,16 @@ namespace WinUI.TableView; #endif public partial class TableViewDateColumn : TableViewBoundColumn { + /// + /// Initializes a new instance of the TableViewDateColumn class. + /// + public TableViewDateColumn() + { + var languages = GlobalizationPreferences.Languages; + var patterns = languages.Count > 0 ? new DateTimeFormatter("shortdate", languages).Patterns : null; + DateFormat = patterns?.Count > 0 ? patterns[0] : "shortdate"; + } + /// /// Generates a TextBlock element for the cell. /// diff --git a/src/Columns/TableViewTimeColumn.cs b/src/Columns/TableViewTimeColumn.cs index bf5ef18..d07a0b3 100644 --- a/src/Columns/TableViewTimeColumn.cs +++ b/src/Columns/TableViewTimeColumn.cs @@ -2,7 +2,7 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Data; using System; -using Windows.Globalization.DateTimeFormatting; +using Windows.System.UserProfile; using WinUI.TableView.Controls; using WinUI.TableView.Extensions; using WinUI.TableView.Helpers; @@ -24,7 +24,8 @@ public partial class TableViewTimeColumn : TableViewBoundColumn /// public TableViewTimeColumn() { - ClockIdentifier = DateTimeFormatter.LongTime.Clock; + var clocks = GlobalizationPreferences.Clocks; + ClockIdentifier = clocks.Count > 0 ? clocks[0] : "24HourClock"; } /// diff --git a/tests/TableViewTimeColumnTests.cs b/tests/TableViewTimeColumnTests.cs index 1a6f479..70b26e7 100644 --- a/tests/TableViewTimeColumnTests.cs +++ b/tests/TableViewTimeColumnTests.cs @@ -4,7 +4,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.AppContainer; using System; -using Windows.Globalization.DateTimeFormatting; +using Windows.System.UserProfile; using WinUI.TableView.Controls; using WinUI.TableView.Helpers; @@ -33,7 +33,8 @@ public void TableViewTimeColumn_GeneratesEditingElementWithConfiguredProperties( Assert.AreEqual(TableViewLocalizedStrings.TimePickerPlaceholder, element.PlaceholderText); Assert.AreEqual(typeof(TimeOnly), element.SourceType); Assert.AreEqual(item.AppointmentTime, column.PrepareCellForEdit(cell, new RoutedEventArgs())); - Assert.AreEqual(DateTimeFormatter.LongTime.Clock, new TableViewTimeColumn().ClockIdentifier); + var clocks = GlobalizationPreferences.Clocks; + Assert.AreEqual(clocks.Count > 0 ? clocks[0] : "24HourClock", new TableViewTimeColumn().ClockIdentifier); } [UITestMethod]