This commit is contained in:
NaBian committed 2026-06-02 23:45:53 +08:00
1 parent c632be574a
commit 24e8e0ff7b
6 files changed
+17 -6

No files matched your search

@@ -71,6 +71,7 @@
<hc:SimplePanel.Visibility>
<MultiBinding Converter="{StaticResource DataGridSelectAllButtonVisibilityConverter}">
<Binding Path="HeadersVisibility" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
<Binding Path="SelectionMode" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
<Binding Path="(hc:DataGridAttach.ShowSelectAllButton)" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
</MultiBinding>
</hc:SimplePanel.Visibility>
@@ -12522,6 +12522,7 @@
<hc:SimplePanel.Visibility>
<MultiBinding Converter="{StaticResource DataGridSelectAllButtonVisibilityConverter}">
<Binding Path="HeadersVisibility" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
<Binding Path="SelectionMode" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
<Binding Path="(hc:DataGridAttach.ShowSelectAllButton)" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
</MultiBinding>
</hc:SimplePanel.Visibility>
@@ -167,7 +167,7 @@
<Link>Resources\Images\GlowWindow\topright.png</Link>
</Resource>
</ItemGroup>
<Target Name="PreBuild" BeforeTargets="Build" Condition="'$(IsCrossTargetingBuild)' == 'true'">
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="..\..\Shared\HandyControl_Shared\Themes\XamlCombine.exe ..\..\Shared\HandyControl_Shared\Themes\Theme_GE45.txt Theme.xaml" />
</Target>
</Project>
@@ -71,6 +71,7 @@
<hc:SimplePanel.Visibility>
<MultiBinding Converter="{StaticResource DataGridSelectAllButtonVisibilityConverter}">
<Binding Path="HeadersVisibility" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
<Binding Path="SelectionMode" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
<Binding Path="(hc:DataGridAttach.ShowSelectAllButton)" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
</MultiBinding>
</hc:SimplePanel.Visibility>
@@ -12658,6 +12658,7 @@
<hc:SimplePanel.Visibility>
<MultiBinding Converter="{StaticResource DataGridSelectAllButtonVisibilityConverter}">
<Binding Path="HeadersVisibility" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
<Binding Path="SelectionMode" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
<Binding Path="(hc:DataGridAttach.ShowSelectAllButton)" RelativeSource="{RelativeSource AncestorType=DataGrid}" />
</MultiBinding>
</hc:SimplePanel.Visibility>
@@ -8,16 +8,23 @@ namespace HandyControl.Tools.Converter;
public class DataGridSelectAllButtonVisibilityConverter : IMultiValueConverter
{
private const int DesiredParamsCount = 3;
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values?.Length is 2 &&
values[0] is DataGridHeadersVisibility.All &&
values[1] is bool showButton)
if (values?.Length is not DesiredParamsCount)
{
return showButton ? Visibility.Visible : Visibility.Hidden;
return Visibility.Collapsed;
}
return Visibility.Collapsed;
if (values[0] is not DataGridHeadersVisibility.All)
{
return Visibility.Hidden;
}
return values[1] is not SelectionMode.Single && values[2] is true
? Visibility.Visible
: Visibility.Hidden;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)