Dreamine.UI.Wpf
1.0.1
Dreamine.UI.Wpf 사용자 인터페이스 기능과 구성 요소를 제공합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
TimeSpanHmEditConverter.cs
이 파일의 문서화 페이지로 가기
1
using
System;
2
using
System.Globalization;
3
using
System.Windows.Data;
4
5
namespace
Dreamine.UI.Wpf.Converters
6
{
23
public
sealed
class
TimeSpanHmEditConverter
: IValueConverter
24
{
73
public
object
Convert
(
object
value, Type targetType,
object
parameter, CultureInfo culture)
74
{
75
if
(value is TimeSpan ts)
76
return
$
"{(int)ts.TotalHours}:{ts.Minutes:00}"
;
77
return
"0:00"
;
78
}
79
136
public
object
ConvertBack
(
object
value, Type targetType,
object
parameter, CultureInfo culture)
137
{
138
if
(value is not
string
s ||
string
.IsNullOrWhiteSpace(s))
139
return
TimeSpan.Zero;
140
141
s = s.Trim();
142
143
// 1) "H:MM" 정식 표기
144
if
(s.Contains(
':'
))
145
{
146
var parts = s.Split(
':'
);
147
if
(parts.Length == 2 &&
148
int
.TryParse(parts[0], out var h) &&
149
int
.TryParse(parts[1], out var m) &&
150
m >= 0 && m < 60)
151
return
TimeSpan.FromHours(Math.Max(0, h)) + TimeSpan.FromMinutes(m);
152
return
TimeSpan.Zero;
153
}
154
155
// 2) 순수 숫자: H, HMM, HHMM 해석
156
if
(
int
.TryParse(s, out var num))
157
{
158
if
(num < 0) num = 0;
159
160
if
(s.Length <= 2)
// "H" 또는 "HH" → 시간만
161
{
162
return
TimeSpan.FromHours(num);
163
}
164
else
165
{
166
// 마지막 두 자리는 분으로 간주
167
var minutes = num % 100;
168
var hours = num / 100;
169
if
(minutes >= 60) minutes = minutes % 60;
// 비정상 값 보정
170
return
TimeSpan.FromHours(hours) + TimeSpan.FromMinutes(minutes);
171
}
172
}
173
174
return
TimeSpan.Zero;
175
}
176
}
177
}
Dreamine.UI.Wpf.Converters
Definition
AddOffsetConverter.cs:10
Dreamine.UI.Wpf.Converters.TimeSpanHmEditConverter
Definition
TimeSpanHmEditConverter.cs:24
Dreamine.UI.Wpf.Converters.TimeSpanHmEditConverter.Convert
object Convert(object value, Type targetType, object parameter, CultureInfo culture)
Definition
TimeSpanHmEditConverter.cs:73
Dreamine.UI.Wpf.Converters.TimeSpanHmEditConverter.ConvertBack
object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
Definition
TimeSpanHmEditConverter.cs:136
Converters
TimeSpanHmEditConverter.cs
다음에 의해 생성됨 :
1.17.0