2021-07-05 16:25:23 +02:00
|
|
|
|
// Copyright (c) Microsoft Corporation
|
|
|
|
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
|
|
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
|
using Windows.UI.Xaml;
|
|
|
|
|
|
using Windows.UI.Xaml.Controls;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Controls
|
|
|
|
|
|
{
|
|
|
|
|
|
public sealed partial class SettingsPageControl : UserControl
|
|
|
|
|
|
{
|
|
|
|
|
|
public SettingsPageControl()
|
|
|
|
|
|
{
|
|
|
|
|
|
this.InitializeComponent();
|
2021-08-23 19:48:52 +02:00
|
|
|
|
PrimaryLinks = new ObservableCollection<PageLink>();
|
|
|
|
|
|
SecondaryLinks = new ObservableCollection<PageLink>();
|
2021-07-05 16:25:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ModuleTitle
|
|
|
|
|
|
{
|
2021-08-23 19:48:52 +02:00
|
|
|
|
get { return (string)GetValue(ModuleTitleProperty); }
|
|
|
|
|
|
set { SetValue(ModuleTitleProperty, value); }
|
2021-07-05 16:25:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ModuleDescription
|
|
|
|
|
|
{
|
|
|
|
|
|
get => (string)GetValue(ModuleDescriptionProperty);
|
|
|
|
|
|
set => SetValue(ModuleDescriptionProperty, value);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ModuleImageSource
|
|
|
|
|
|
{
|
|
|
|
|
|
get => (string)GetValue(ModuleImageSourceProperty);
|
|
|
|
|
|
set => SetValue(ModuleImageSourceProperty, value);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#pragma warning disable CA2227 // Collection properties should be read only
|
2021-08-23 19:48:52 +02:00
|
|
|
|
public ObservableCollection<PageLink> PrimaryLinks
|
2021-07-05 16:25:23 +02:00
|
|
|
|
#pragma warning restore CA2227 // Collection properties should be read only
|
|
|
|
|
|
{
|
2021-08-23 19:48:52 +02:00
|
|
|
|
get => (ObservableCollection<PageLink>)GetValue(PrimaryLinksProperty);
|
|
|
|
|
|
set => SetValue(PrimaryLinksProperty, value);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string SecondaryLinksHeader
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (string)GetValue(SecondaryLinksHeaderProperty); }
|
|
|
|
|
|
set { SetValue(SecondaryLinksHeaderProperty, value); }
|
2021-07-05 16:25:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#pragma warning disable CA2227 // Collection properties should be read only
|
2021-08-23 19:48:52 +02:00
|
|
|
|
public ObservableCollection<PageLink> SecondaryLinks
|
2021-07-05 16:25:23 +02:00
|
|
|
|
#pragma warning restore CA2227 // Collection properties should be read only
|
|
|
|
|
|
{
|
2021-08-23 19:48:52 +02:00
|
|
|
|
get => (ObservableCollection<PageLink>)GetValue(SecondaryLinksProperty);
|
|
|
|
|
|
set => SetValue(SecondaryLinksProperty, value);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public object ModuleContent
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (object)GetValue(ModuleContentProperty); }
|
|
|
|
|
|
set { SetValue(ModuleContentProperty, value); }
|
2021-07-05 16:25:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static readonly DependencyProperty ModuleTitleProperty = DependencyProperty.Register("ModuleTitle", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
|
|
|
|
|
|
public static readonly DependencyProperty ModuleDescriptionProperty = DependencyProperty.Register("ModuleDescription", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
|
|
|
|
|
|
public static readonly DependencyProperty ModuleImageSourceProperty = DependencyProperty.Register("ModuleImageSource", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
|
2021-08-23 19:48:52 +02:00
|
|
|
|
public static readonly DependencyProperty PrimaryLinksProperty = DependencyProperty.Register("PrimaryLinks", typeof(ObservableCollection<PageLink>), typeof(SettingsPageControl), new PropertyMetadata(new ObservableCollection<PageLink>()));
|
|
|
|
|
|
public static readonly DependencyProperty SecondaryLinksHeaderProperty = DependencyProperty.Register("SecondaryLinksHeader", typeof(string), typeof(SettingsPageControl), new PropertyMetadata(default(string)));
|
|
|
|
|
|
public static readonly DependencyProperty SecondaryLinksProperty = DependencyProperty.Register("SecondaryLinks", typeof(ObservableCollection<PageLink>), typeof(SettingsPageControl), new PropertyMetadata(new ObservableCollection<PageLink>()));
|
|
|
|
|
|
public static readonly DependencyProperty ModuleContentProperty = DependencyProperty.Register("ModuleContent", typeof(object), typeof(SettingsPageControl), new PropertyMetadata(new Grid()));
|
2021-11-30 14:43:04 +01:00
|
|
|
|
|
|
|
|
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
PrimaryLinksControl.Focus(FocusState.Programmatic);
|
|
|
|
|
|
}
|
2021-07-05 16:25:23 +02:00
|
|
|
|
}
|
|
|
|
|
|
}
|