1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //----------------------------------------------------------------
5 namespace System.Activities.Core.Presentation
7 // Code borrowed from System.Activities.Presentation
10 using System.ComponentModel;
12 using System.Windows.Data;
13 using System.Globalization;
14 using System.Reflection;
15 using System.Diagnostics.CodeAnalysis;
18 // Transform bool value using logical not.
20 [SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses")]
21 internal sealed class NotConverter : IValueConverter
23 // IValueConverter Members
25 public object Convert(object o, Type targetType, object parameter, CultureInfo culture)
30 public object ConvertBack(object o, Type targetType, object parameter, CultureInfo culture)
32 return !AssureBool(o, false);
35 static bool AssureBool(object value, bool defaultIfNull)
39 bool? nbValue = (bool?)value;