Forge
csharpdeeb25a2
1using System.Globalization;
2using Avalonia.Data.Converters;
3
4namespace CascadeIDE.Views;
5
6/// <summary>Строка заголовка панели с учётом <see cref="PanelChromeHeader.UppercaseTitle"/> (для живой смены языка через привязку к <c>Title</c>).</summary>
7public sealed class PanelChromeTitleDisplayConverter : IMultiValueConverter
8{
9 public object? Convert(IList<object?> values, Type targetType, object? parameter, CultureInfo culture)
10 {
11 if (values.Count < 2)
12 return "";
13 var title = values[0] as string ?? "";
14 var upper = values[1] is bool b && b;
15 return upper ? title.ToUpperInvariant() : title;
16 }
17
18 public IList<object?> ConvertBack(object? value, IList<Type> targetTypes, object? parameter, CultureInfo culture) =>
19 throw new NotSupportedException();
20}
21
View only · write via MCP/CIDE