Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitca48d57

Browse files
committed
fix converter issue (in design time),
1 parente73928e commitca48d57

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed
Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,49 @@
11
usingSystem;
22
usingSystem.Globalization;
3+
usingSystem.Windows;
34
usingSystem.Windows.Data;
45

56
namespaceUnityLauncherPro.Converters
67
{
7-
[ValueConversion(typeof(DateTime),typeof(String))]
8+
[ValueConversion(typeof(DateTime),typeof(string))]
89
publicclassReleaseDateConverter:IValueConverter
910
{
1011
publicobjectConvert(objectvalue,TypetargetType,objectparameter,CultureInfoculture)
1112
{
12-
if(value==null)returnnull;
13-
DateTimedate=(DateTime)value;
13+
if(value==null||!(valueisDateTimedate))
14+
{
15+
returnDependencyProperty.UnsetValue;
16+
}
1417

15-
// get first part of string until space character (updates only contain mm/dd/yyyy)
16-
stringdateStrTrimmed=MainWindow.currentDateFormat;
17-
if(dateStrTrimmed.IndexOf(' ')>-1)dateStrTrimmed=dateStrTrimmed.Split(' ')[0];
18+
// Use a default date format if currentDateFormat is null or empty
19+
stringdateStrTrimmed=MainWindow.currentDateFormat??"MM/dd/yyyy";
1820

19-
returnMainWindow.useHumanFriendlyDateFormat?Tools.GetElapsedTime(date):date.ToString(dateStrTrimmed);
21+
// If the format includes time, use only the date portion
22+
if(dateStrTrimmed.Contains(" "))
23+
{
24+
dateStrTrimmed=dateStrTrimmed.Split(' ')[0];
25+
}
26+
27+
// Return a human-friendly format if enabled; otherwise, format based on dateStrTrimmed
28+
returnMainWindow.useHumanFriendlyDateFormat
29+
?Tools.GetElapsedTime(date)
30+
:date.ToString(dateStrTrimmed,culture);
2031
}
2132

2233
publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,CultureInfoculture)
2334
{
24-
// not used ?
25-
returnDateTime.ParseExact((string)value,MainWindow.currentDateFormat,culture);
26-
}
35+
if(value==null||string.IsNullOrWhiteSpace(value.ToString()))
36+
{
37+
returnDependencyProperty.UnsetValue;
38+
}
2739

40+
// Attempt to parse back to DateTime using the specified format
41+
if(DateTime.TryParseExact((string)value,MainWindow.currentDateFormat??"MM/dd/yyyy",culture,DateTimeStyles.None,outDateTimeparsedDate))
42+
{
43+
returnparsedDate;
44+
}
45+
46+
returnDependencyProperty.UnsetValue;
47+
}
2848
}
2949
}

‎UnityLauncherPro/MainWindow.xaml‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -487,9 +487,8 @@
487487
<MenuItemx:Name="menuItemUpdatesReleaseNotes"Header="Open Release Notes"Click="MenuItemUpdatesReleaseNotes_Click" />
488488
</ContextMenu>
489489
</DataGrid.ContextMenu>
490-
<local:UnityVersionReleaseDate="2020-10-10"Version="5000.1.2.3"/>
491-
492490
<!-- sample data for testing-->
491+
<local:UnityVersionReleaseDate="2020-10-10"Version="5000.1.2.3"/>
493492
</DataGrid>
494493

495494
<!-- bottom buttoms row-->

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp