소스(Core/Shell/Launcher)와 실행 PC가 받아갈 업데이트 파일(dist)을 함께 올린다. Launcher가 켤 때 이 저장소의 dist와 D:\UbisamPlatform\bin을 비교해 새 버전이면 받아간다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
using System.Windows.Media;
|
|
|
|
namespace UbisamBase.Core.Converters;
|
|
|
|
/// <summary>
|
|
/// MainTabViewModel.Icon 문자열("Home", "Monitor" 등)을 Themes/Icons.xaml의
|
|
/// Geometry 리소스("Ubisam.Icon.Home")로 바꿔준다.
|
|
/// 값이 비어 있거나 없는 키면 null을 돌려주고, 하단 탭은 라벨만 표시한다.
|
|
/// </summary>
|
|
public sealed class IconKeyToGeometryConverter : IValueConverter
|
|
{
|
|
public object? Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (value is not string key || string.IsNullOrWhiteSpace(key))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var resourceKey = key.StartsWith("Ubisam.Icon.", StringComparison.Ordinal)
|
|
? key
|
|
: "Ubisam.Icon." + key;
|
|
|
|
return Application.Current?.TryFindResource(resourceKey) as Geometry;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
=> throw new NotSupportedException();
|
|
}
|