mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 10:01:27 -07:00
add progressring
This commit is contained in:
parent
611f2f1c91
commit
f7f167f340
@ -1,5 +1,6 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Controls.Primitives;
|
||||||
using System.Windows.Data;
|
using System.Windows.Data;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
@ -34,6 +35,7 @@ namespace Bloxstrap.UI.Elements.Bootstrapper
|
|||||||
["TitleBar"] = HandleXmlElement_TitleBar,
|
["TitleBar"] = HandleXmlElement_TitleBar,
|
||||||
["Button"] = HandleXmlElement_Button,
|
["Button"] = HandleXmlElement_Button,
|
||||||
["ProgressBar"] = HandleXmlElement_ProgressBar,
|
["ProgressBar"] = HandleXmlElement_ProgressBar,
|
||||||
|
["ProgressRing"] = HandleXmlElement_ProgressRing,
|
||||||
["TextBlock"] = HandleXmlElement_TextBlock,
|
["TextBlock"] = HandleXmlElement_TextBlock,
|
||||||
["MarkdownTextBlock"] = HandleXmlElement_MarkdownTextBlock,
|
["MarkdownTextBlock"] = HandleXmlElement_MarkdownTextBlock,
|
||||||
["Image"] = HandleXmlElement_Image,
|
["Image"] = HandleXmlElement_Image,
|
||||||
@ -736,16 +738,21 @@ namespace Bloxstrap.UI.Elements.Bootstrapper
|
|||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void HandleXmlElement_RangeBase(CustomDialog dialog, RangeBase rangeBase, XElement xmlElement)
|
||||||
|
{
|
||||||
|
HandleXmlElement_Control(dialog, rangeBase, xmlElement);
|
||||||
|
|
||||||
|
rangeBase.Value = ParseXmlAttribute<double>(xmlElement, "Value", 0);
|
||||||
|
rangeBase.Maximum = ParseXmlAttribute<double>(xmlElement, "Maximum", 100);
|
||||||
|
}
|
||||||
|
|
||||||
private static UIElement HandleXmlElement_ProgressBar(CustomDialog dialog, XElement xmlElement)
|
private static UIElement HandleXmlElement_ProgressBar(CustomDialog dialog, XElement xmlElement)
|
||||||
{
|
{
|
||||||
var progressBar = new Wpf.Ui.Controls.ProgressBar();
|
var progressBar = new Wpf.Ui.Controls.ProgressBar();
|
||||||
HandleXmlElement_Control(dialog, progressBar, xmlElement);
|
HandleXmlElement_RangeBase(dialog, progressBar, xmlElement);
|
||||||
|
|
||||||
progressBar.IsIndeterminate = ParseXmlAttribute<bool>(xmlElement, "IsIndeterminate", false);
|
progressBar.IsIndeterminate = ParseXmlAttribute<bool>(xmlElement, "IsIndeterminate", false);
|
||||||
|
|
||||||
progressBar.Value = ParseXmlAttribute<double>(xmlElement, "Value", 0);
|
|
||||||
progressBar.Maximum = ParseXmlAttribute<double>(xmlElement, "Maximum", 100);
|
|
||||||
|
|
||||||
object? cornerRadius = GetCornerRadiusFromXElement(xmlElement, "CornerRadius");
|
object? cornerRadius = GetCornerRadiusFromXElement(xmlElement, "CornerRadius");
|
||||||
if (cornerRadius != null)
|
if (cornerRadius != null)
|
||||||
progressBar.CornerRadius = (CornerRadius)cornerRadius;
|
progressBar.CornerRadius = (CornerRadius)cornerRadius;
|
||||||
@ -769,6 +776,28 @@ namespace Bloxstrap.UI.Elements.Bootstrapper
|
|||||||
return progressBar;
|
return progressBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static UIElement HandleXmlElement_ProgressRing(CustomDialog dialog, XElement xmlElement)
|
||||||
|
{
|
||||||
|
var progressBar = new Wpf.Ui.Controls.ProgressRing();
|
||||||
|
HandleXmlElement_RangeBase(dialog, progressBar, xmlElement);
|
||||||
|
|
||||||
|
progressBar.IsIndeterminate = ParseXmlAttribute<bool>(xmlElement, "IsIndeterminate", false);
|
||||||
|
|
||||||
|
if (xmlElement.Attribute("Name")?.Value == "PrimaryProgressRing")
|
||||||
|
{
|
||||||
|
Binding isIndeterminateBinding = new Binding("ProgressIndeterminate") { Mode = BindingMode.OneWay };
|
||||||
|
BindingOperations.SetBinding(progressBar, Wpf.Ui.Controls.ProgressRing.IsIndeterminateProperty, isIndeterminateBinding);
|
||||||
|
|
||||||
|
Binding maximumBinding = new Binding("ProgressMaximum") { Mode = BindingMode.OneWay };
|
||||||
|
BindingOperations.SetBinding(progressBar, Wpf.Ui.Controls.ProgressRing.MaximumProperty, maximumBinding);
|
||||||
|
|
||||||
|
Binding valueBinding = new Binding("ProgressValue") { Mode = BindingMode.OneWay };
|
||||||
|
BindingOperations.SetBinding(progressBar, Wpf.Ui.Controls.ProgressRing.ValueProperty, valueBinding);
|
||||||
|
}
|
||||||
|
|
||||||
|
return progressBar;
|
||||||
|
}
|
||||||
|
|
||||||
private static void HandleXmlElement_TextBlock_Base(CustomDialog dialog, TextBlock textBlock, XElement xmlElement)
|
private static void HandleXmlElement_TextBlock_Base(CustomDialog dialog, TextBlock textBlock, XElement xmlElement)
|
||||||
{
|
{
|
||||||
HandleXmlElement_FrameworkElement(dialog, textBlock, xmlElement);
|
HandleXmlElement_FrameworkElement(dialog, textBlock, xmlElement);
|
||||||
|
2
wpfui
2
wpfui
@ -1 +1 @@
|
|||||||
Subproject commit 05dad87af09d6bbf39f657a444128b1e814993a5
|
Subproject commit 9a76450240ff34aeae0d5fc1e66d9dbf29949335
|
Loading…
Reference in New Issue
Block a user