Skip to content

Commit

Permalink
Fix: ColorPicker Binding failed (#579)
Browse files Browse the repository at this point in the history
* fix ColorPicker Binding failed

* Apply suggestions from code review

* Update components/ColorPicker/src/Converters/NullToTransparentConverter.cs

---------

Co-authored-by: Arlo <[email protected]>
Co-authored-by: Michael Hawker MSFT (XAML Llama) <[email protected]>
  • Loading branch information
3 people authored Dec 21, 2024
1 parent 2c0f9b3 commit 97e0d39
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
5 changes: 3 additions & 2 deletions components/ColorPicker/src/ColorPicker.xaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:animations="using:CommunityToolkit.WinUI.Animations"
xmlns:contract8Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,8)"
Expand All @@ -16,6 +16,7 @@
<SolidColorBrush x:Key="CheckerboardColor1"
Color="#FFd4d4d4" />
<converters:ColorToDisplayNameConverter x:Key="ColorToDisplayNameConverter" />
<localconverters:NullToTransparentConverter x:Key="NullToTransparentConverter" />
<localconverters:ColorToHexConverter x:Key="ColorToHexConverter" />

<localconverters:ContrastBrushConverter x:Key="ContrastBrushConverter" />
Expand Down Expand Up @@ -291,7 +292,7 @@
animations:Implicit.HideAnimations="{StaticResource HideTransitions}"
animations:Implicit.ShowAnimations="{StaticResource ShowTransitions}"
ItemsSource="{TemplateBinding CustomPaletteColors}"
SelectedValue="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Color, Mode=TwoWay}"
SelectedValue="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Color, Converter={StaticResource NullToTransparentConverter}, Mode=TwoWay}"
SelectionMode="Single"
Tag="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Color, Mode=OneWay}">
<GridView.ItemsPanel>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

namespace CommunityToolkit.WinUI.Controls;

/// <summary>
/// Value converter that converts null values to Transparent.
/// </summary>
public partial class NullToTransparentConverter : IValueConverter
{
/// <inheritdoc/>
public object Convert(object value, Type targetType, object parameter, string language) => value;

/// <inheritdoc/>
public object ConvertBack(object? value, Type targetType, object parameter, string language) => value ??
#if WINUI2
Windows.UI.Colors.Transparent;
#else
Microsoft.UI.Colors.Transparent;
#endif
}

0 comments on commit 97e0d39

Please sign in to comment.