add BooleanArr2BooleanConverter

This commit is contained in:
chenjie02_cd committed 2021-09-06 20:06:15 +08:00
1 parent 904b32f986
commit 4d7697914f
5 files changed
+44

No files matched your search

@@ -9,6 +9,7 @@
<converter:Boolean2BooleanReConverter x:Key="Boolean2BooleanReConverter" />
<converter:Boolean2VisibilityReConverter x:Key="Boolean2VisibilityReConverter" />
<converter:BooleanArr2VisibilityConverter x:Key="BooleanArr2VisibilityConverter" />
<converter:BooleanArr2BooleanConverter x:Key="BooleanArr2BooleanConverter" />
<converter:Long2FileSizeConverter x:Key="Long2FileSizeConverter" />
<converter:String2VisibilityConverter x:Key="String2VisibilityConverter" />
<converter:String2VisibilityReConverter x:Key="String2VisibilityReConverter" />
@@ -83,6 +83,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Controls\Tag\TagContainer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Controls\Text\SimpleText.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Controls\Window\GlowWindow.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Converter\BooleanArr2BooleanConverter.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Generator\DateTimeRangeComparer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\Enum\VisualWrapping.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\Flex\FlexContentJustify.cs" />
@@ -5,6 +5,7 @@
<converter:Boolean2BooleanReConverter x:Key="Boolean2BooleanReConverter"/>
<converter:Boolean2VisibilityReConverter x:Key="Boolean2VisibilityReConverter"/>
<converter:BooleanArr2VisibilityConverter x:Key="BooleanArr2VisibilityConverter"/>
<converter:BooleanArr2BooleanConverter x:Key="BooleanArr2BooleanConverter" />
<converter:Long2FileSizeConverter x:Key="Long2FileSizeConverter"/>
<converter:String2VisibilityConverter x:Key="String2VisibilityConverter"/>
<converter:String2VisibilityReConverter x:Key="String2VisibilityReConverter"/>
@@ -9,6 +9,7 @@
<converter:Boolean2BooleanReConverter x:Key="Boolean2BooleanReConverter" />
<converter:Boolean2VisibilityReConverter x:Key="Boolean2VisibilityReConverter" />
<converter:BooleanArr2VisibilityConverter x:Key="BooleanArr2VisibilityConverter" />
<converter:BooleanArr2BooleanConverter x:Key="BooleanArr2BooleanConverter" />
<converter:Long2FileSizeConverter x:Key="Long2FileSizeConverter" />
<converter:String2VisibilityConverter x:Key="String2VisibilityConverter" />
<converter:String2VisibilityReConverter x:Key="String2VisibilityReConverter" />
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Windows.Data;
using HandyControl.Data;
namespace HandyControl.Tools.Converter
{
public class BooleanArr2BooleanConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values == null)
{
return ValueBoxes.FalseBox;
}
var arr = new List<bool>();
foreach (var item in values)
{
if (item is bool boolValue)
{
arr.Add(boolValue);
}
else
{
return ValueBoxes.FalseBox;
}
}
return ValueBoxes.BooleanBox(arr.All(item => item));
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
}