TRX/tools/config/TRX_ConfigToolLib/Controls/TRXConfigWindow.xaml.cs
2024-10-03 10:36:35 +02:00

47 lines
1.3 KiB
C#

using System.ComponentModel;
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
using TRX_ConfigToolLib.Models;
using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib;
public partial class TRXConfigWindow : Window
{
static TRXConfigWindow()
{
LanguageProperty.OverrideMetadata
(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name))
);
}
public TRXConfigWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
private void Window_Closing(object sender, CancelEventArgs e)
{
(DataContext as MainWindowViewModel).Exit(e);
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
(DataContext as MainWindowViewModel).Load();
}
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0
&& e.AddedItems[0] is CategoryViewModel
&& VisualUtils.GetChild(sender as DependencyObject, typeof(ScrollViewer)) is ScrollViewer scroller)
{
scroller.ScrollToVerticalOffset((DataContext as MainWindowViewModel).SelectedCategory.ViewPosition);
}
}
}