This commit is contained in:
Meik
2025-11-11 11:03:42 +01:00
commit dc3e8a2e4c
582 changed files with 191465 additions and 0 deletions

View 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)
{
}
}
}