diff --git a/src/PSLauncher.App/PSLauncher.App.csproj b/src/PSLauncher.App/PSLauncher.App.csproj index cbeff65..b035d50 100644 --- a/src/PSLauncher.App/PSLauncher.App.csproj +++ b/src/PSLauncher.App/PSLauncher.App.csproj @@ -40,6 +40,11 @@ + + diff --git a/src/PSLauncher.App/Resources/InverseBoolToVisibilityConverter.cs b/src/PSLauncher.App/Resources/InverseBoolToVisibilityConverter.cs new file mode 100644 index 0000000..7607627 --- /dev/null +++ b/src/PSLauncher.App/Resources/InverseBoolToVisibilityConverter.cs @@ -0,0 +1,18 @@ +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace PSLauncher.App.Resources; + +/// +/// Inverse de : true → Collapsed, false → Visible. +/// Utile pour afficher un placeholder quand un binding bool est false (ex. "DocumentationUrl est vide"). +/// +public sealed class InverseBoolToVisibilityConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + => value is bool b && b ? Visibility.Collapsed : Visibility.Visible; + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + => value is Visibility v && v != Visibility.Visible; +} diff --git a/src/PSLauncher.App/Resources/Theme.xaml b/src/PSLauncher.App/Resources/Theme.xaml index dde54d5..bed4e6b 100644 --- a/src/PSLauncher.App/Resources/Theme.xaml +++ b/src/PSLauncher.App/Resources/Theme.xaml @@ -3,6 +3,7 @@ xmlns:res="clr-namespace:PSLauncher.App.Resources"> + pack://application:,,,/Resources/#Pirulen @@ -72,6 +73,47 @@ + + +