Skip to content

Commit

Permalink
fix ColorPicker Binding failed
Browse files Browse the repository at this point in the history
  • Loading branch information
Poker-sang committed Dec 4, 2024
1 parent c756dd5 commit d66e7fb
Show file tree
Hide file tree
Showing 2 changed files with 22 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,19 @@
#region Copyright
// 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.
#endregion

namespace CommunityToolkit.WinUI.Controls;

internal partial class NullToTransparentConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language) => value;

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

0 comments on commit d66e7fb

Please sign in to comment.