bovender framework
C# framework that implements MVVM and more
SuppressibleNotificationAction.cs
1 /* SuppressibleNotificationAction.cs
2  * part of Bovender framework
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;
23 
24 namespace Bovender.Mvvm.Actions
25 {
27  {
28  #region Properties
29 
30  public virtual bool Suppress { get; set; }
31 
32  #endregion
33 
34  #region DependencyProperties
35 
36  public string SuppressMessageText
37  {
38  get { return (string)GetValue(SuppressMessageTextProperty); }
39  set
40  {
41  SetValue(SuppressMessageTextProperty, value);
42  }
43  }
44 
45  #endregion
46 
47  #region Declarations of dependency properties
48 
49  public static readonly DependencyProperty SuppressMessageTextProperty = DependencyProperty.Register(
50  "SuppressMessageText", typeof(string), typeof(SuppressibleNotificationAction));
51 
52  #endregion
53 
54  #region Overrides
55 
56  protected override void Invoke(object parameter)
57  {
58  if (!Suppress)
59  {
60  Logger.Info("Invoke: Notification is not suppressed");
61  base.Invoke(parameter);
62  }
63  else
64  {
65  Logger.Info("Invoke: Notification is suppressed");
66  }
67  }
68 
69  protected override System.Windows.Window CreateView()
70  {
72  }
73 
74  #endregion
75 
76  #region Class logger
77 
78  private static NLog.Logger Logger { get { return _logger.Value; } }
79 
80  private static readonly Lazy<NLog.Logger> _logger = new Lazy<NLog.Logger>(() => NLog.LogManager.GetCurrentClassLogger());
81 
82  #endregion
83  }
84 }
override System.Windows.Window CreateView()
Returns a view that can bind to expected message contents.
Interaction logic for SuppressibleNotificationView.xaml
Opens a generic WPF dialog window that displays a message and has a single OK button.