mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 18:11:27 -07:00
* add custom bootstrappers * add avalonedit to licenses page * add gif support * add stretch & stretchdirection to images * dont create a bitmapimage for gifs * remove maxheight and maxwidth sets * remove comment * add isenabled * add more textblock properties * add markdowntextblocks * update how transform elements are stored * overhaul textbox content * dont set fontsize if not set * fix warnings * add foreground property to control * add background property to textblock * count descendants and increase element cap * add auto complete * dont display completion window if there is no data * sort schema elements and types * make ! close the completion window * add end tag auto complete * fix pos being wrong * dont treat comments as elements * add imagebrushes * follow same conventions as brushes * fix exception messages * fix them again * update schema * fix crash * now it works * wrong attribute name * add solidcolorbrush * move converters into a separate file * add lineargradientbrushes * unify handlers * update schema * add fake BloxstrapCustomBootstrapper * stop adding an extra end character * add property element auto-complete * add title attribute to custombloxstrapbootstrapper * add shapes * add string translation support * use default wpf size instead of 100x100 * update min height of window * fix verticalalignment not working * uncap height and width * add effects * move transformation handler inside frameworkelement * fix title bar effect & transformation removal * add more frameworkelement properties * add layout transform * add font properties to control * improve window border stuff * make sure file contents are in CRLF * add cornerradius to progress bar * add progressring * Update wpfui * update schema * update function names * add children check to content * make sure only one content is defined * add fontfamily * update schema * only allow file uris for images * disable backdrop * move text setter to textblock handler from base * split up creator into multiple files * turn version into a constant * add grids * cleanup converters * add IgnoreTitleBarInset * add Version to schema * reveal custom bootstrapper stuff on selection * increase listbox height * only set statustext binding in textblock * update ui * rename ZIndex to Panel.ZIndex * add stackpanel * add border * fix being unable to apply transforms on grids * rearrange and add new editor button * use snackbars for saving * add close confirmation message * use viewmodel variable * remove pointless onpropertychanged call * add version string format * start editor window in the centre * update licenses page also resized the about window so everything could fit nicely * fix border not inheriting frameworkelement * add WindowCornerPreference * add the import dialog * add an export theme button * update version number * localise CustomDialog exceptions * localise custom theme editor * localise custom theme add dialog * localise frontend * localise appearance menu page * change customtheme error strings namespace * change icons on appearance page * update button margin on appearance page
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using System.Windows;
|
|
using System.Windows.Interop;
|
|
using Wpf.Ui.Appearance;
|
|
using Wpf.Ui.Controls;
|
|
using Wpf.Ui.Mvvm.Contracts;
|
|
using Wpf.Ui.Mvvm.Services;
|
|
|
|
namespace Bloxstrap.UI.Elements.Base
|
|
{
|
|
public abstract class WpfUiWindow : UiWindow
|
|
{
|
|
private readonly IThemeService _themeService = new ThemeService();
|
|
|
|
public WpfUiWindow()
|
|
{
|
|
ApplyTheme();
|
|
}
|
|
|
|
public void ApplyTheme()
|
|
{
|
|
const int customThemeIndex = 2; // index for CustomTheme merged dictionary
|
|
|
|
_themeService.SetTheme(App.Settings.Prop.Theme.GetFinal() == Enums.Theme.Dark ? ThemeType.Dark : ThemeType.Light);
|
|
_themeService.SetSystemAccent();
|
|
|
|
// there doesn't seem to be a way to query the name for merged dictionaries
|
|
var dict = new ResourceDictionary { Source = new Uri($"pack://application:,,,/UI/Style/{Enum.GetName(App.Settings.Prop.Theme.GetFinal())}.xaml") };
|
|
Application.Current.Resources.MergedDictionaries[customThemeIndex] = dict;
|
|
|
|
#if QA_BUILD
|
|
this.BorderBrush = System.Windows.Media.Brushes.Red;
|
|
this.BorderThickness = new Thickness(4);
|
|
#endif
|
|
}
|
|
|
|
protected override void OnSourceInitialized(EventArgs e)
|
|
{
|
|
if (App.Settings.Prop.WPFSoftwareRender || App.LaunchSettings.NoGPUFlag.Active)
|
|
{
|
|
if (PresentationSource.FromVisual(this) is HwndSource hwndSource)
|
|
hwndSource.CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
|
|
}
|
|
|
|
base.OnSourceInitialized(e);
|
|
}
|
|
}
|
|
}
|