Files
FloatingStatusWindow/Library/AppearanceWindow.xaml.cs
2023-05-01 21:04:17 -04:00

46 lines
1.1 KiB
C#

using System.Linq;
using System.Windows.Media;
namespace ChrisKaczor.Wpf.Windows.FloatingStatusWindow;
internal partial class AppearanceWindow
{
private WindowSettings _currentSettings;
private readonly WindowSettings _originalSettings;
public AppearanceWindow(WindowSettings windowSettings)
{
InitializeComponent();
_currentSettings = windowSettings;
_originalSettings = (WindowSettings)_currentSettings.Clone();
var allFonts = Fonts.SystemFontFamilies.OrderBy(x => x.Source);
FontNameCombo.ItemsSource = allFonts;
DataContext = _currentSettings;
}
private void HandleOkayButtonClick(object sender, System.Windows.RoutedEventArgs e)
{
DialogResult = true;
Close();
}
private void HandleWindowSourceUpdated(object sender, System.Windows.Data.DataTransferEventArgs e)
{
_currentSettings.Apply();
}
private void HandleWindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (DialogResult == true)
return;
_currentSettings = _originalSettings;
_currentSettings.Apply();
}
}