40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
using Avalonia.Data.Converters;
|
|
using Cowain.Base.Helpers;
|
|
using Ke.Bee.Localization.Localizer.Abstractions;
|
|
using System.Collections.ObjectModel;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Reflection.Metadata;
|
|
using System.Text.Json;
|
|
|
|
namespace Cowain.Base.Converters;
|
|
|
|
/// <summary>
|
|
/// List和string转换器
|
|
/// </summary>
|
|
public class ListStringConverter : IValueConverter
|
|
{
|
|
public ListStringConverter()
|
|
{
|
|
}
|
|
|
|
public object? Convert(object? value, Type targetType, object? prefix, CultureInfo culture)
|
|
{
|
|
if (value is ObservableCollection<string> lists)
|
|
{
|
|
return JsonSerializer.Serialize(lists);
|
|
//return string.Join(',', menuActions);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public object? ConvertBack(object? value, Type targetType, object? prefix, CultureInfo culture)
|
|
{
|
|
if (value is string jsonString)
|
|
{
|
|
return JsonSerializer.Deserialize<ObservableCollection<string>>(jsonString);
|
|
}
|
|
return null;
|
|
}
|
|
}
|