|
@@ -21,14 +21,6 @@ namespace Compdfkit_Tools.Common
|
|
set { SetValue(IsToggledProperty, value); }
|
|
set { SetValue(IsToggledProperty, value); }
|
|
}
|
|
}
|
|
|
|
|
|
- public static readonly DependencyProperty CanChangeProperty =
|
|
|
|
- DependencyProperty.Register("CanChange", typeof(bool), typeof(HomePageButton), new PropertyMetadata(true));
|
|
|
|
- public bool CanChange
|
|
|
|
- {
|
|
|
|
- get { return (bool)GetValue(CanChangeProperty); }
|
|
|
|
- set { SetValue(CanChangeProperty, value); }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
public static readonly RoutedEvent ToggledEvent =
|
|
public static readonly RoutedEvent ToggledEvent =
|
|
EventManager.RegisterRoutedEvent("Toggled", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(HomePageButton));
|
|
EventManager.RegisterRoutedEvent("Toggled", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(HomePageButton));
|
|
public event RoutedEventHandler Toggled
|
|
public event RoutedEventHandler Toggled
|
|
@@ -42,9 +34,18 @@ namespace Compdfkit_Tools.Common
|
|
Click += HomePageButton_Click; ;
|
|
Click += HomePageButton_Click; ;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public class QueryLockEventArgs : EventArgs
|
|
|
|
+ {
|
|
|
|
+ public bool CanLock { get; set; }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public delegate bool QueryLockHandler(object sender, QueryLockEventArgs e);
|
|
|
|
+
|
|
|
|
+ public event QueryLockHandler QueryLock;
|
|
|
|
+
|
|
private void HomePageButton_Click(object sender, RoutedEventArgs e)
|
|
private void HomePageButton_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
{
|
|
- if (CanChange)
|
|
|
|
|
|
+ if (QueryLock?.Invoke(this, new QueryLockEventArgs()) == false)
|
|
{
|
|
{
|
|
IsToggled = !IsToggled;
|
|
IsToggled = !IsToggled;
|
|
RaiseToggledEvent();
|
|
RaiseToggledEvent();
|
|
@@ -53,7 +54,7 @@ namespace Compdfkit_Tools.Common
|
|
|
|
|
|
private void RaiseToggledEvent()
|
|
private void RaiseToggledEvent()
|
|
{
|
|
{
|
|
- RoutedEventArgs newEventArgs = new RoutedEventArgs(HomePageButton.ToggledEvent);
|
|
|
|
|
|
+ RoutedEventArgs newEventArgs = new(ToggledEvent);
|
|
RaiseEvent(newEventArgs);
|
|
RaiseEvent(newEventArgs);
|
|
}
|
|
}
|
|
}
|
|
}
|