mirror of
https://github.com/claunia/marechai.git
synced 2026-07-08 17:57:08 +00:00
Fix converters
This commit is contained in:
@@ -2,29 +2,15 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:prism="using:Prism.DryIoc"
|
||||
xmlns:utu="using:Uno.Toolkit.UI"
|
||||
xmlns:local="using:Marechai.App.Presentation.Converters">
|
||||
|
||||
<prism:PrismApplication.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<!-- Load WinUI resources -->
|
||||
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
|
||||
|
||||
<!-- Load Uno.UI.Toolkit resources -->
|
||||
<ToolkitResources xmlns="using:Uno.Toolkit.UI" />
|
||||
<utu:ToolkitResources />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!-- Add resources here -->
|
||||
<local:ObjectToVisibilityConverter x:Key="ObjectToVisibilityConverter" />
|
||||
<local:StringToVisibilityConverter x:Key="StringToVisibilityConverter" />
|
||||
<local:ZeroToVisibilityConverter x:Key="ZeroToVisibilityConverter" />
|
||||
<local:InvertBoolConverter x:Key="InvertBoolConverter" />
|
||||
<local:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
|
||||
<local:InvertBoolToVisibilityConverter x:Key="InvertBoolToVisibilityConverter" />
|
||||
<local:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
|
||||
<local:RolesListConverter x:Key="RolesListConverter" />
|
||||
<local:LocalizeConverter x:Key="LocalizeConverter" />
|
||||
|
||||
</ResourceDictionary>
|
||||
</prism:PrismApplication.Resources>
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@ public partial class App : PrismApplication
|
||||
|
||||
protected override UIElement CreateShell() => Container.Resolve<MainPage>();
|
||||
|
||||
protected override void ConfigureApp(IApplicationBuilder builder)
|
||||
{
|
||||
Resources.MergedDictionaries.Add(new AppResources());
|
||||
}
|
||||
|
||||
protected override void ConfigureHost(IHostBuilder builder)
|
||||
{
|
||||
builder
|
||||
|
||||
16
Marechai.App/AppResources.xaml
Normal file
16
Marechai.App/AppResources.xaml
Normal file
@@ -0,0 +1,16 @@
|
||||
<ResourceDictionary x:Class="Marechai.App.AppResources"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:Marechai.App.Presentation.Converters">
|
||||
|
||||
<local:ObjectToVisibilityConverter x:Key="ObjectToVisibilityConverter" />
|
||||
<local:StringToVisibilityConverter x:Key="StringToVisibilityConverter" />
|
||||
<local:ZeroToVisibilityConverter x:Key="ZeroToVisibilityConverter" />
|
||||
<local:InvertBoolConverter x:Key="InvertBoolConverter" />
|
||||
<local:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
|
||||
<local:InvertBoolToVisibilityConverter x:Key="InvertBoolToVisibilityConverter" />
|
||||
<local:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
|
||||
<local:RolesListConverter x:Key="RolesListConverter" />
|
||||
<local:LocalizeConverter x:Key="Localize" />
|
||||
|
||||
</ResourceDictionary>
|
||||
11
Marechai.App/AppResources.xaml.cs
Normal file
11
Marechai.App/AppResources.xaml.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
|
||||
namespace Marechai.App;
|
||||
|
||||
public partial class AppResources : ResourceDictionary
|
||||
{
|
||||
public AppResources()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -71,8 +71,10 @@ public class BoolToVisibilityConverter : IValueConverter
|
||||
/// </summary>
|
||||
public class InvertBoolToVisibilityConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, string language) =>
|
||||
value is true ? Visibility.Collapsed : Visibility.Visible;
|
||||
public object Convert(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
return value is true ? Visibility.Collapsed : Visibility.Visible;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, string language) =>
|
||||
value is Visibility.Collapsed;
|
||||
|
||||
@@ -18,15 +18,11 @@ public sealed class LocalizeConverter : IValueConverter
|
||||
|
||||
public object Convert(object value, Type targetType, object parameter, string language)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"LocalizeConverter.Convert: value={value?.GetType().Name} param={parameter} localizer={_localizer != null}");
|
||||
|
||||
if(parameter is not string key || _localizer is null)
|
||||
return parameter?.ToString() ?? string.Empty;
|
||||
|
||||
LocalizedString result = _localizer[key];
|
||||
|
||||
System.Diagnostics.Debug.WriteLine($"LocalizeConverter: key='{key}' found={!result.ResourceNotFound} value='{result.Value}'");
|
||||
|
||||
return result.ResourceNotFound ? key : result.Value;
|
||||
}
|
||||
|
||||
@@ -54,8 +50,6 @@ public static class Loc
|
||||
|
||||
private static void OnKeyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"Loc.OnKeyChanged: key='{e.NewValue}' localizer={_localizer != null} element={d.GetType().Name}");
|
||||
|
||||
if(e.NewValue is not string key || _localizer is null)
|
||||
return;
|
||||
|
||||
@@ -68,8 +62,6 @@ public static class Loc
|
||||
{
|
||||
string value = TryGetValue(key);
|
||||
|
||||
System.Diagnostics.Debug.WriteLine($"Loc TextBlock key='{key}' value='{value}' localizer={_localizer != null}");
|
||||
|
||||
if(value != null)
|
||||
textBlock.Text = value;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user