Skip to content

Commit cda7a9c

Browse files
committed
Added NullOrEmptyToVisibility converters
1 parent 535f0c7 commit cda7a9c

File tree

5 files changed

+45
-5
lines changed

5 files changed

+45
-5
lines changed

Aronium.Wpf.Toolkit/Aronium.Wpf.Toolkit.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,10 @@
8585
<Compile Include="Controls\WatermarkTextBox.cs" />
8686
<Compile Include="Converters\InvertBooleanConverter.cs" />
8787
<Compile Include="Converters\InvertBooleanToVisibilityConverter.cs" />
88+
<Compile Include="Converters\NotNullOrEmptyToVisibilityConverter.cs" />
8889
<Compile Include="Converters\NotNullToBooleanConverter.cs" />
8990
<Compile Include="Converters\NotNullToVisibilityConverter.cs" />
91+
<Compile Include="Converters\NullOrEmptyToVisibilityConverter.cs" />
9092
<Compile Include="Converters\NullToVisibilityConverter.cs" />
9193
<Compile Include="Converters\KiloConverter.cs" />
9294
<Compile Include="Converters\UppercaseConverter.cs" />

Aronium.Wpf.Toolkit/Controls/NumericUpDown.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ private static void OnDecimalPlacesChanged(DependencyObject d, DependencyPropert
105105
@this.UpdateText();
106106
}
107107

108-
protected override void OnMouseWheel(System.Windows.Input.MouseWheelEventArgs e)
108+
protected override void OnMouseWheel(MouseWheelEventArgs e)
109109
{
110110
if (IsFocused)
111111
{
@@ -174,7 +174,7 @@ private void UpdateText()
174174
if (!AcceptEmptyValue)
175175
this.UpdateText(this.Minimum);
176176
}
177-
else if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out decimalValueParsed))
177+
else if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint | NumberStyles.Number, CultureInfo.InvariantCulture, out decimalValueParsed))
178178
{
179179
this.UpdateText(decimalValueParsed);
180180
}
@@ -203,7 +203,7 @@ private void Up()
203203
this.Focus();
204204
}
205205

206-
if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out decimalValueParsed))
206+
if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint | NumberStyles.Number, CultureInfo.InvariantCulture, out decimalValueParsed))
207207
{
208208
if (decimalValueParsed + Increment <= Maximum)
209209
{
@@ -221,7 +221,7 @@ private void Down()
221221
this.Focus();
222222
}
223223

224-
if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out decimalValueParsed))
224+
if (decimal.TryParse(this.Text, NumberStyles.AllowDecimalPoint | NumberStyles.Number, CultureInfo.InvariantCulture, out decimalValueParsed))
225225
{
226226
if (decimalValueParsed - Increment >= Minimum)
227227
{
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System;
2+
using System.Windows;
3+
using System.Windows.Data;
4+
5+
namespace Aronium.Wpf.Toolkit.Converters
6+
{
7+
public class NotNullOrEmptyToVisibilityConverter : IValueConverter
8+
{
9+
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
10+
{
11+
return string.IsNullOrWhiteSpace((string)value) ? Visibility.Collapsed : Visibility.Visible;
12+
}
13+
14+
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
15+
{
16+
return Binding.DoNothing;
17+
}
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System;
2+
using System.Windows;
3+
using System.Windows.Data;
4+
5+
namespace Aronium.Wpf.Toolkit.Converters
6+
{
7+
public class NullOrEmptyToVisibilityConverter : IValueConverter
8+
{
9+
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
10+
{
11+
return string.IsNullOrWhiteSpace((string)value) ? Visibility.Visible : Visibility.Collapsed;
12+
}
13+
14+
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
15+
{
16+
return Binding.DoNothing;
17+
}
18+
}
19+
}

Aronium.Wpf.Toolkit/Validators/NumericValidationRule.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public override ValidationResult Validate(object value, CultureInfo cultureInfo)
1717
{
1818
if (AllowNull && string.IsNullOrEmpty(value?.ToString()))
1919
{
20-
return new ValidationResult(true, null);
20+
return ValidationResult.ValidResult;
2121
}
2222

2323
bool isNumberInRange = true;

0 commit comments

Comments
 (0)