inital
This commit is contained in:
110
FasdDesktopUi/Basics/UserControls/CustomDialog.xaml.cs
Normal file
110
FasdDesktopUi/Basics/UserControls/CustomDialog.xaml.cs
Normal file
@@ -0,0 +1,110 @@
|
||||
using FasdDesktopUi.Basics.CustomEvents;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdDesktopUi.Basics.UserControls
|
||||
{
|
||||
public partial class CustomDialog : UserControl, IFocusInvoker
|
||||
{
|
||||
|
||||
#region Proeprties and Fields
|
||||
|
||||
public int? ParentIndex { get; set; }
|
||||
public UIElement ParentElement { get; set; }
|
||||
|
||||
#region HasYesNoButtons
|
||||
|
||||
public bool HasYesNoButtons
|
||||
{
|
||||
get { return (bool)GetValue(HasYesNoButtonsProperty); }
|
||||
set { SetValue(HasYesNoButtonsProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty HasYesNoButtonsProperty =
|
||||
DependencyProperty.Register("HasYesNoButtons", typeof(bool), typeof(CustomDialog), new PropertyMetadata(true));
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region HasYesNoText
|
||||
|
||||
public bool HasYesNoText
|
||||
{
|
||||
get { return (bool)GetValue(HasYesNoTextProperty); }
|
||||
set { SetValue(HasYesNoTextProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty HasYesNoTextProperty =
|
||||
DependencyProperty.Register("HasYesNoText", typeof(bool), typeof(CustomDialog), new PropertyMetadata(true));
|
||||
|
||||
#endregion
|
||||
|
||||
#region ContainerData
|
||||
|
||||
public cContainerData ContainerData
|
||||
{
|
||||
get { return (cContainerData)GetValue(ContainerDataProperty); }
|
||||
set { SetValue(ContainerDataProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ContainerDataProperty =
|
||||
DependencyProperty.Register("ContainerData", typeof(cContainerData), typeof(CustomDialog), new PropertyMetadata(new cContainerData(), new PropertyChangedCallback(ContainerDataHasChanged)));
|
||||
|
||||
private static void ContainerDataHasChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!(d is CustomDialog _me))
|
||||
return;
|
||||
|
||||
_me.UpdateDialogContent();
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
public CustomDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void UpdateDialogContent()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ContainerData is null)
|
||||
return;
|
||||
|
||||
MainStack.Children.Clear();
|
||||
|
||||
foreach (var dialogComponentData in ContainerData)
|
||||
{
|
||||
if (cUiElementHelper.DrawCustomizableContainerComponent(dialogComponentData, this, out var createdControl))
|
||||
{
|
||||
createdControl.Margin = new Thickness(0, 5, 0, 5);
|
||||
MainStack.Children.Add(createdControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
|
||||
private void YesNoButton_ButtonHasBeenClicked(object sender, BooleanEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user