Dreamine.UI.Wpf 1.0.1
Dreamine.UI.Wpf 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter 클래스 참조sealed

더 자세히 ...

Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter에 대한 상속 다이어그램 :
Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter에 대한 협력 다이어그램:

Public 멤버 함수

object Convert (object value, Type targetType, object parameter, CultureInfo culture)
object ConvertBack (object value, Type targetType, object parameter, CultureInfo culture)

속성

bool Inverse = false [get, set]
bool UseHidden = false [get, set]

정적 Private 멤버 함수

static bool ToBoolSafe (object? value)
static void ApplyOptionsFromParameter (object parameter, ref bool inverse, ref bool useHidden)

상세한 설명

부울 의미의 값과 WPF Visibility 값을 양방향 변환하며 반전 및 Hidden 옵션을 지원합니다.

변환기 속성 또는 "Inverse", "Hidden", "UseHidden", "Collapsed" 토큰을 포함하는 매개변수로 동작을 구성할 수 있습니다.

BoolToVisibilityConverter.cs 파일의 25 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ ApplyOptionsFromParameter()

void Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.ApplyOptionsFromParameter ( object parameter,
ref bool inverse,
ref bool useHidden )
inlinestaticprivate

변환기 매개변수의 부울, 가시성 또는 문자열 토큰을 반전·숨김 옵션에 적용합니다.

매개변수
parameter해석할 변환기 매개변수입니다.
inverse갱신할 반전 옵션입니다.
useHidden갱신할 Hidden 사용 옵션입니다.

BoolToVisibilityConverter.cs 파일의 272 번째 라인에서 정의되었습니다.

273 {
274 if (parameter == null)
275 return;
276
277 // \brief bool parameter: treat as inverse override.
278 if (parameter is bool b)
279 {
280 inverse = b;
281 return;
282 }
283
284 // \brief Visibility parameter: Hidden implies UseHidden.
285 if (parameter is Visibility vis)
286 {
287 useHidden = (vis == Visibility.Hidden);
288 return;
289 }
290
291 // \brief string parameter: parse tokens.
292 if (parameter is string s)
293 {
294 var tokens = s
295 .Split(new[] { ',', ';', '|', ' ' }, StringSplitOptions.RemoveEmptyEntries)
296 .Select(t => t.Trim())
297 .Where(t => !string.IsNullOrWhiteSpace(t))
298 .ToArray();
299
300 foreach (var token in tokens)
301 {
302 if (token.Equals("Inverse", StringComparison.OrdinalIgnoreCase))
303 inverse = true;
304
305 if (token.Equals("Hidden", StringComparison.OrdinalIgnoreCase) ||
306 token.Equals("UseHidden", StringComparison.OrdinalIgnoreCase))
307 useHidden = true;
308
309 if (token.Equals("Collapsed", StringComparison.OrdinalIgnoreCase))
310 useHidden = false;
311 }
312 }
313 }

다음에 의해서 참조됨 : Convert(), ConvertBack().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Convert()

object Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.Convert ( object value,
Type targetType,
object parameter,
CultureInfo culture )
inline

원본 값을 안전하게 부울로 해석하여 구성된 가시성 상태로 변환합니다.

매개변수
value부울로 해석할 원본 값입니다.
targetType대상 형식입니다.
parameter선택적 반전·숨김 옵션입니다.
culture사용하지 않는 문화권입니다.
반환값
Visibility.Visible, Visibility.Hidden 또는 Visibility.Collapsed입니다.

BoolToVisibilityConverter.cs 파일의 95 번째 라인에서 정의되었습니다.

96 {
97 // \brief Read options from instance properties first.
98 bool inverse = Inverse;
99 bool useHidden = UseHidden;
100
101 // \brief Allow ConverterParameter to override / augment options.
102 ApplyOptionsFromParameter(parameter, ref inverse, ref useHidden);
103
104 // \brief Normalize input to bool.
105 bool val = ToBoolSafe(value);
106
107 if (inverse)
108 val = !val;
109
110 return val
111 ? Visibility.Visible
112 : (useHidden ? Visibility.Hidden : Visibility.Collapsed);
113 }

다음을 참조함 : ApplyOptionsFromParameter(), Inverse, ToBoolSafe(), UseHidden.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ConvertBack()

object Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.ConvertBack ( object value,
Type targetType,
object parameter,
CultureInfo culture )
inline

가시성 값이 보임 상태인지 확인하고 선택적으로 결과를 반전합니다.

매개변수
value대상 가시성 값입니다.
targetType원본 형식입니다.
parameter선택적 반전 옵션입니다.
culture사용하지 않는 문화권입니다.
반환값
보임 상태의 부울 표현이며 구성에 따라 반전됩니다.

BoolToVisibilityConverter.cs 파일의 163 번째 라인에서 정의되었습니다.

164 {
165 bool inverse = Inverse;
166 bool useHidden = UseHidden; // \brief Not used directly in ConvertBack, but parsed for symmetry.
167 ApplyOptionsFromParameter(parameter, ref inverse, ref useHidden);
168
169 Visibility vis = value is Visibility v ? v : Visibility.Collapsed;
170
171 bool result = (vis == Visibility.Visible);
172 return inverse ? !result : result;
173 }

다음을 참조함 : ApplyOptionsFromParameter(), Inverse, UseHidden.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ToBoolSafe()

bool Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.ToBoolSafe ( object? value)
inlinestaticprivate

부울, 문자열, 정수 계열 입력을 안전하게 부울 값으로 정규화합니다.

매개변수
value정규화할 값입니다.
반환값
해석된 논리값이며 해석할 수 없으면 false입니다.

BoolToVisibilityConverter.cs 파일의 199 번째 라인에서 정의되었습니다.

200 {
201 if (value == null)
202 return false;
203
204 // \brief Direct bool (covers boxed bool)
205 if (value is bool b)
206 return b;
207
208 // \brief Nullable<bool> comes in boxed as bool when HasValue == true,
209 // so no separate "bool?" pattern is required.
210 // (This avoids CS8116 entirely.)
211
212 // \brief String handling
213 if (value is string s)
214 {
215 if (bool.TryParse(s, out bool parsedBool))
216 return parsedBool;
217
218 if (int.TryParse(s, NumberStyles.Integer, CultureInfo.InvariantCulture, out int parsedInt))
219 return parsedInt != 0;
220 }
221
222 // \brief Numeric handling
223 if (value is byte by) return by != 0;
224 if (value is short sh) return sh != 0;
225 if (value is int it) return it != 0;
226 if (value is long lo) return lo != 0;
227
228 // \brief Last-resort conversion
229 try
230 {
231 return System.Convert.ToBoolean(value, CultureInfo.InvariantCulture);
232 }
233 catch
234 {
235 return false;
236 }
237 }

다음에 의해서 참조됨 : Convert().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

속성 문서화

◆ Inverse

bool Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.Inverse = false
getset

부울 의미를 반전할지 여부를 가져오거나 설정합니다.

BoolToVisibilityConverter.cs 파일의 35 번째 라인에서 정의되었습니다.

35{ get; set; } = false;

다음에 의해서 참조됨 : Convert(), ConvertBack().

◆ UseHidden

bool Dreamine.UI.Wpf.Converters.BoolToVisibilityConverter.UseHidden = false
getset

거짓 상태에서 Visibility.Collapsed 대신 Visibility.Hidden을 반환할지 여부를 가져오거나 설정합니다.

BoolToVisibilityConverter.cs 파일의 45 번째 라인에서 정의되었습니다.

45{ get; set; } = false;

다음에 의해서 참조됨 : Convert(), ConvertBack().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: