bovender framework
C# framework that implements MVVM and more
BooleanNegationConverter.cs
1 /* BooleanNegationConverter.cs
2  * part of Daniel's XL Toolbox NG
3  *
4  * Copyright 2014-2018 Daniel Kraus
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 using System;
19 using System.Collections.Generic;
20 using System.Linq;
21 using System.Text;
22 using System.Windows.Data;
23 
24 namespace Bovender.Mvvm.Converters
25 {
46  [ValueConversion(typeof(bool), typeof(bool))]
47  public class BooleanNegationConverter : IValueConverter
48  {
49  #region IValueConverter Members
50 
51  public object Convert(object value, Type targetType, object parameter,
52  System.Globalization.CultureInfo culture)
53  {
54  if (targetType != typeof(bool))
55  throw new InvalidOperationException("The target must be a boolean");
56 
57  return !(bool)value;
58  }
59 
60  public object ConvertBack(object value, Type targetType, object parameter,
61  System.Globalization.CultureInfo culture)
62  {
63  throw new NotSupportedException();
64  }
65 
66  #endregion
67  }
68 }