diff --git a/HandyControl/Controls/Attach/DataGridAttach.cs b/HandyControl/Controls/Attach/DataGridAttach.cs new file mode 100644 index 00000000..3385ac3d --- /dev/null +++ b/HandyControl/Controls/Attach/DataGridAttach.cs @@ -0,0 +1,211 @@ +using System.Linq; +using System.Windows; +using System.Windows.Controls; + +// ReSharper disable once CheckNamespace +namespace HandyControl.Controls +{ + public class DataGridAttach : DependencyObject + { + public static readonly DependencyProperty TextColumnStyleProperty = DependencyProperty.RegisterAttached( + "TextColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnTextColumnStyleChanged)); + + private static void OnTextColumnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var grid = (DataGrid)d; + if (e.OldValue == null && e.NewValue != null) + { + UpdateTextColumnStyles(grid); + } + } + + public static void SetTextColumnStyle(DependencyObject element, Style value) => element.SetValue(TextColumnStyleProperty, value); + + public static Style GetTextColumnStyle(DependencyObject element) => (Style)element.GetValue(TextColumnStyleProperty); + + public static readonly DependencyProperty EditingTextColumnStyleProperty = DependencyProperty.RegisterAttached( + "EditingTextColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnTextColumnStyleChanged)); + + public static void SetEditingTextColumnStyle(DependencyObject element, Style value) => element.SetValue(EditingTextColumnStyleProperty, value); + + public static Style GetEditingTextColumnStyle(DependencyObject element) => (Style) element.GetValue(EditingTextColumnStyleProperty); + + private static void UpdateTextColumnStyles(DataGrid grid) + { + var textColumnStyle = GetTextColumnStyle(grid); + var editingTextColumnStyle = GetEditingTextColumnStyle(grid); + + if (textColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var elementStyle = new Style + { + BasedOn = column.ElementStyle, + TargetType = textColumnStyle.TargetType + }; + + foreach (var setter in textColumnStyle.Setters.OfType()) + { + elementStyle.Setters.Add(setter); + } + + column.ElementStyle = elementStyle; + } + } + + if (editingTextColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var editingElementStyle = new Style + { + BasedOn = column.EditingElementStyle, + TargetType = editingTextColumnStyle.TargetType + }; + + foreach (var setter in editingTextColumnStyle.Setters.OfType()) + { + editingElementStyle.Setters.Add(setter); + } + + column.EditingElementStyle = editingElementStyle; + } + } + } + + public static readonly DependencyProperty ComboBoxColumnStyleProperty = DependencyProperty.RegisterAttached( + "ComboBoxColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnComboBoxColumnStyleChanged)); + + private static void OnComboBoxColumnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var grid = (DataGrid)d; + if (e.OldValue == null && e.NewValue != null) + { + UpdateComboBoxColumnStyles(grid); + } + } + + public static void SetComboBoxColumnStyle(DependencyObject element, Style value) => element.SetValue(ComboBoxColumnStyleProperty, value); + + public static Style GetComboBoxColumnStyle(DependencyObject element) => (Style) element.GetValue(ComboBoxColumnStyleProperty); + + public static readonly DependencyProperty EditingComboBoxColumnStyleProperty = DependencyProperty.RegisterAttached( + "EditingComboBoxColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnComboBoxColumnStyleChanged)); + + public static void SetEditingComboBoxColumnStyle(DependencyObject element, Style value) => element.SetValue(EditingComboBoxColumnStyleProperty, value); + + public static Style GetEditingComboBoxColumnStyle(DependencyObject element) => (Style) element.GetValue(EditingComboBoxColumnStyleProperty); + + private static void UpdateComboBoxColumnStyles(DataGrid grid) + { + var comboBoxColumnStyle = GetComboBoxColumnStyle(grid); + var editingComboBoxColumnStyle = GetEditingComboBoxColumnStyle(grid); + + if (comboBoxColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var elementStyle = new Style + { + BasedOn = column.ElementStyle, + TargetType = comboBoxColumnStyle.TargetType + }; + + foreach (var setter in comboBoxColumnStyle.Setters.OfType()) + { + elementStyle.Setters.Add(setter); + } + + column.ElementStyle = elementStyle; + } + } + + if (editingComboBoxColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var editingElementStyle = new Style + { + BasedOn = column.EditingElementStyle, + TargetType = editingComboBoxColumnStyle.TargetType + }; + + foreach (var setter in editingComboBoxColumnStyle.Setters.OfType()) + { + editingElementStyle.Setters.Add(setter); + } + + column.EditingElementStyle = editingElementStyle; + } + } + } + + public static readonly DependencyProperty CheckBoxColumnStyleProperty = DependencyProperty.RegisterAttached( + "CheckBoxColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnCheckBoxColumnStyleChanged)); + + private static void OnCheckBoxColumnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var grid = (DataGrid)d; + if (e.OldValue == null && e.NewValue != null) + { + UpdateCheckBoxColumnStyles(grid); + } + } + + public static void SetCheckBoxColumnStyle(DependencyObject element, Style value) => element.SetValue(CheckBoxColumnStyleProperty, value); + + public static Style GetCheckBoxColumnStyle(DependencyObject element) => (Style)element.GetValue(CheckBoxColumnStyleProperty); + + public static readonly DependencyProperty EditingCheckBoxColumnStyleProperty = DependencyProperty.RegisterAttached( + "EditingCheckBoxColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnCheckBoxColumnStyleChanged)); + + public static void SetEditingCheckBoxColumnStyle(DependencyObject element, Style value) => element.SetValue(EditingCheckBoxColumnStyleProperty, value); + + public static Style GetEditingCheckBoxColumnStyle(DependencyObject element) => (Style) element.GetValue(EditingCheckBoxColumnStyleProperty); + + private static void UpdateCheckBoxColumnStyles(DataGrid grid) + { + var checkBoxColumnStyle = GetCheckBoxColumnStyle(grid); + var editingCheckBoxColumnStyle = GetEditingCheckBoxColumnStyle(grid); + + if (checkBoxColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var elementStyle = new Style + { + BasedOn = column.ElementStyle, + TargetType = checkBoxColumnStyle.TargetType + }; + + foreach (var setter in checkBoxColumnStyle.Setters.OfType()) + { + elementStyle.Setters.Add(setter); + } + + column.ElementStyle = elementStyle; + } + } + + if (editingCheckBoxColumnStyle != null) + { + foreach (var column in grid.Columns.OfType()) + { + var editingElementStyle = new Style + { + BasedOn = column.EditingElementStyle, + TargetType = editingCheckBoxColumnStyle.TargetType + }; + + foreach (var setter in editingCheckBoxColumnStyle.Setters.OfType()) + { + editingElementStyle.Setters.Add(setter); + } + + column.EditingElementStyle = editingElementStyle; + } + } + } + } +} \ No newline at end of file diff --git a/HandyControl/Controls/Attach/EdgeElement.cs b/HandyControl/Controls/Attach/EdgeElement.cs new file mode 100644 index 00000000..d43704b7 --- /dev/null +++ b/HandyControl/Controls/Attach/EdgeElement.cs @@ -0,0 +1,47 @@ +using System.Windows; + +// ReSharper disable once CheckNamespace +namespace HandyControl.Controls +{ + public class EdgeElement : DependencyObject + { + public static readonly DependencyProperty LeftContentProperty = DependencyProperty.RegisterAttached( + "LeftContent", typeof(object), typeof(EdgeElement), new PropertyMetadata(default(object), OnEdgeContentChanged)); + + public static void SetLeftContent(DependencyObject element, object value) => element.SetValue(LeftContentProperty, value); + + public static object GetLeftContent(DependencyObject element) => element.GetValue(LeftContentProperty); + + public static readonly DependencyProperty TopContentProperty = DependencyProperty.RegisterAttached( + "TopContent", typeof(object), typeof(EdgeElement), new PropertyMetadata(default(object), OnEdgeContentChanged)); + + public static void SetTopContent(DependencyObject element, object value) => element.SetValue(TopContentProperty, value); + + public static object GetTopContent(DependencyObject element) => element.GetValue(TopContentProperty); + + public static readonly DependencyProperty RightContentProperty = DependencyProperty.RegisterAttached( + "RightContent", typeof(object), typeof(EdgeElement), new PropertyMetadata(default(object), OnEdgeContentChanged)); + + public static void SetRightContent(DependencyObject element, object value) => element.SetValue(RightContentProperty, value); + + public static object GetRightContent(DependencyObject element) => element.GetValue(RightContentProperty); + + public static readonly DependencyProperty BottomContentProperty = DependencyProperty.RegisterAttached( + "BottomContent", typeof(object), typeof(EdgeElement), new PropertyMetadata(default(object), OnEdgeContentChanged)); + + public static void SetBottomContent(DependencyObject element, object value) => element.SetValue(BottomContentProperty, value); + + public static object GetBottomContent(DependencyObject element) => element.GetValue(BottomContentProperty); + + public static readonly DependencyProperty ShowEdgeContentProperty = DependencyProperty.RegisterAttached( + "ShowEdgeContent", typeof(bool), typeof(EdgeElement), new PropertyMetadata(default(bool))); + + public static void SetShowEdgeContent(DependencyObject element, bool value) => element.SetValue(ShowEdgeContentProperty, value); + + public static bool GetShowEdgeContent(DependencyObject element) => (bool) element.GetValue(ShowEdgeContentProperty); + + private static void OnEdgeContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) => + SetShowEdgeContent(d, !(GetLeftContent(d) == null && GetTopContent(d) == null && + GetRightContent(d) == null && GetBottomContent(d) == null)); + } +} \ No newline at end of file diff --git a/HandyControl/Controls/Attach/IconElement.cs b/HandyControl/Controls/Attach/IconElement.cs index 62f69c5d..003da5da 100644 --- a/HandyControl/Controls/Attach/IconElement.cs +++ b/HandyControl/Controls/Attach/IconElement.cs @@ -18,18 +18,5 @@ namespace HandyControl.Controls { return (Geometry)element.GetValue(GeometryProperty); } - - public static readonly DependencyProperty AngleProperty = DependencyProperty.RegisterAttached( - "Angle", typeof(double), typeof(IconElement), new PropertyMetadata(default(double))); - - public static void SetAngle(DependencyObject element, double value) - { - element.SetValue(AngleProperty, value); - } - - public static double GetAngle(DependencyObject element) - { - return (double)element.GetValue(AngleProperty); - } } } \ No newline at end of file diff --git a/HandyControl/Controls/Window/WindowBorderless.cs b/HandyControl/Controls/Window/WindowBorderless.cs index 98b456a1..be776be3 100644 --- a/HandyControl/Controls/Window/WindowBorderless.cs +++ b/HandyControl/Controls/Window/WindowBorderless.cs @@ -1,8 +1,10 @@ using System; using System.Windows; using System.Windows.Controls; +using System.Windows.Data; using System.Windows.Input; using System.Windows.Media; +using System.Windows.Shell; // ReSharper disable once CheckNamespace namespace HandyControl.Controls @@ -88,6 +90,15 @@ namespace HandyControl.Controls public WindowBorderless() { + var chrome = new WindowChrome + { + CornerRadius = new CornerRadius(), + GlassFrameThickness = new Thickness(1) + }; + BindingOperations.SetBinding(chrome, WindowChrome.CaptionHeightProperty, + new Binding(NoUserAreaHeightProperty.Name) {Source = this}); + WindowChrome.SetWindowChrome(this, chrome); + Loaded += delegate { _tempThickness = BorderThickness; diff --git a/HandyControl/HandyControl.csproj b/HandyControl/HandyControl.csproj index 647ca918..e7e40b08 100644 --- a/HandyControl/HandyControl.csproj +++ b/HandyControl/HandyControl.csproj @@ -36,6 +36,8 @@ + + @@ -180,6 +182,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -272,6 +278,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -292,6 +302,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/HandyControl/HandyControl.csproj.user b/HandyControl/HandyControl.csproj.user new file mode 100644 index 00000000..6cbe5889 --- /dev/null +++ b/HandyControl/HandyControl.csproj.user @@ -0,0 +1,6 @@ + + + + ProjectFiles + + \ No newline at end of file diff --git a/HandyControl/Properties/AssemblyInfo.cs b/HandyControl/Properties/AssemblyInfo.cs index 8399a9fa..c125362e 100644 --- a/HandyControl/Properties/AssemblyInfo.cs +++ b/HandyControl/Properties/AssemblyInfo.cs @@ -10,5 +10,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.3.3")] -[assembly: AssemblyFileVersion("1.3.3")] +[assembly: AssemblyVersion("1.3.4")] +[assembly: AssemblyFileVersion("1.3.4")] diff --git a/HandyControl/Themes/Basic/Geometries.xaml b/HandyControl/Themes/Basic/Geometries.xaml index 381ed8f8..31309607 100644 --- a/HandyControl/Themes/Basic/Geometries.xaml +++ b/HandyControl/Themes/Basic/Geometries.xaml @@ -31,5 +31,6 @@ M512.66048 64.64c-247.424 0-448 200.57728-448 448s200.576 448 448 448 448-200.57728 448-448c0-247.424-200.57728-448-448-448z m250.71232 334.86336L480.98176 681.89312c-15.49568 15.49696-40.61952 15.49696-56.11648 0l-162.9184-162.9184c-15.49568-15.49568-15.49568-40.61824 0-56.1152s40.61952-15.49568 56.11648 0l134.85952 134.85952L707.25504 343.3856c15.49568-15.49568 40.61952-15.49568 56.11648 0s15.49696 40.6208 0.00128 56.11776z M716.8 375.466667l34.133333 34.133333c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733333l-34.133334-34.133334 34.133334-34.133333c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733334 0l-34.133333 34.133333-34.133333-34.133333c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733333l34.133334 34.133333-34.133334 34.133334c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733334 0l34.133333-34.133333z m-426.666667 0l34.133334 34.133333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333l-34.133333-34.133334 34.133333-34.133333c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0l-34.133334 34.133333-34.133333-34.133333c-17.066667-17.066667-42.666667-17.066667-59.733333 0-17.066667 17.066667-17.066667 42.666667 0 59.733333l34.133333 34.133333-34.133333 34.133334c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0l34.133333-34.133333zM0 85.333333c0-51.2 42.666667-85.333333 85.333333-85.333333h853.333334c51.2 0 85.333333 42.666667 85.333333 85.333333v853.333334c0 51.2-42.666667 85.333333-85.333333 85.333333H85.333333c-51.2 0-85.333333-42.666667-85.333333-85.333333V85.333333z m512 469.333334c-136.533333 0-230.4 68.266667-290.133333 196.266666-8.533333 17.066667 0 42.666667 17.066666 59.733334s42.666667 0 59.733334-17.066667c51.2-93.866667 110.933333-145.066667 221.866666-145.066667 102.4 0 170.666667 51.2 221.866667 145.066667 8.533333 17.066667 34.133333 25.6 59.733333 17.066667 17.066667-8.533333 25.6-34.133333 17.066667-59.733334-76.8-128-170.666667-196.266667-307.2-196.266666z M512 0 30.11843 240.941297l0 542.117406 481.88157 240.941297 481.88157-240.941297L993.88157 240.941297 512 0zM575.776472 768.799969 460.188012 768.799969 460.188012 656.222073l115.588459 0L575.776472 768.799969zM623.335603 509.329685c-52.375829 36.723353-59.600363 55.988096-59.600363 84.885211l0 19.866447L468.616977 614.081343l0-26.489278c0-45.754021 13.846342-80.67124 61.406497-116.791866 46.957428-36.723353 57.79423-62.0082 57.79423-84.282484 0-25.284848-21.67258-54.181962-55.386393-54.181962-42.743457 0-70.436142 26.489278-82.477374 85.486914l-105.956088-21.67258c24.683144-111.976192 82.477374-157.127486 205.289345-157.127486 98.12985 0 157.72919 63.212631 157.72919 131.842639C707.017407 423.240044 688.956071 461.76953 623.335603 509.329685z + M 721.005 638.949 C 758.74 638.949 789.333 669.56 789.333 707.312 C 789.333 745.047 758.74 775.657 721.005 775.657 C 683.253 775.657 652.66 745.047 652.66 707.312 C 652.66 669.56 683.253 638.949 721.005 638.949 Z M 512.017 638.949 C 549.77 638.949 580.38 669.56 580.38 707.312 C 580.38 745.047 549.77 775.657 512.017 775.657 C 474.265 775.657 443.672 745.047 443.672 707.312 C 443.672 669.56 474.265 638.949 512.017 638.949 Z M 303.029 638.949 C 340.781 638.949 371.392 669.56 371.392 707.312 C 371.392 745.047 340.781 775.657 303.029 775.657 C 265.277 775.657 234.667 745.047 234.667 707.312 C 234.667 669.56 265.277 638.949 303.029 638.949 Z M 721.005 443.655 C 758.74 443.655 789.333 474.265 789.333 512.017 C 789.333 549.769 758.74 580.363 721.005 580.363 C 683.253 580.363 652.66 549.769 652.66 512.017 C 652.66 474.265 683.253 443.655 721.005 443.655 Z M 512.017 443.655 C 549.77 443.655 580.38 474.265 580.38 512.017 C 580.38 549.769 549.77 580.363 512.017 580.363 C 474.265 580.363 443.672 549.769 443.672 512.017 C 443.672 474.265 474.265 443.655 512.017 443.655 Z M 303.029 443.655 C 340.781 443.655 371.392 474.265 371.392 512.017 C 371.392 549.769 340.781 580.363 303.029 580.363 C 265.277 580.363 234.667 549.769 234.667 512.017 C 234.667 474.265 265.277 443.655 303.029 443.655 Z M 721.005 248.343 C 758.74 248.343 789.333 278.953 789.333 316.688 C 789.333 354.44 758.74 385.051 721.005 385.051 C 683.253 385.051 652.66 354.44 652.66 316.688 C 652.66 278.953 683.253 248.343 721.005 248.343 Z M 512.017 248.343 C 549.77 248.343 580.38 278.953 580.38 316.688 C 580.38 354.44 549.77 385.051 512.017 385.051 C 474.265 385.051 443.672 354.44 443.672 316.688 C 443.672 278.953 474.265 248.343 512.017 248.343 Z M 303.029 248.343 C 340.781 248.343 371.392 278.953 371.392 316.688 C 371.392 354.44 340.781 385.051 303.029 385.051 C 265.277 385.051 234.667 354.44 234.667 316.688 C 234.667 278.953 265.277 248.343 303.029 248.343 Z \ No newline at end of file diff --git a/HandyControl/Themes/Styles/Base/ButtonBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ButtonBaseStyle.xaml index e78fcba5..c48a2b22 100644 --- a/HandyControl/Themes/Styles/Base/ButtonBaseStyle.xaml +++ b/HandyControl/Themes/Styles/Base/ButtonBaseStyle.xaml @@ -9,7 +9,6 @@ + + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml index ac84f132..c0605a88 100644 --- a/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml +++ b/HandyControl/Themes/Styles/Base/ComboBoxBaseStyle.xaml @@ -276,7 +276,7 @@ - + diff --git a/HandyControl/Themes/Styles/Base/ListBoxBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ListBoxBaseStyle.xaml index 3a473f8b..cd53bdae 100644 --- a/HandyControl/Themes/Styles/Base/ListBoxBaseStyle.xaml +++ b/HandyControl/Themes/Styles/Base/ListBoxBaseStyle.xaml @@ -19,29 +19,43 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/DataGrid.xaml b/HandyControl/Themes/Styles/DataGrid.xaml new file mode 100644 index 00000000..1e6ee26d --- /dev/null +++ b/HandyControl/Themes/Styles/DataGrid.xaml @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/NumericUpDown.xaml b/HandyControl/Themes/Styles/NumericUpDown.xaml index f9e12423..98090d0d 100644 --- a/HandyControl/Themes/Styles/NumericUpDown.xaml +++ b/HandyControl/Themes/Styles/NumericUpDown.xaml @@ -1,6 +1,8 @@  + xmlns:controls="clr-namespace:HandyControl.Controls" + xmlns:interactivity="clr-namespace:HandyControl.Interactivity" + xmlns:system="clr-namespace:System;assembly=mscorlib"> @@ -10,4 +12,87 @@ + \ No newline at end of file diff --git a/HandyControl/Themes/Styles/Style.xaml b/HandyControl/Themes/Styles/Style.xaml index 4d352ce8..2cef41d1 100644 --- a/HandyControl/Themes/Styles/Style.xaml +++ b/HandyControl/Themes/Styles/Style.xaml @@ -20,6 +20,7 @@ + @@ -31,6 +32,7 @@ + diff --git a/HandyControl/Themes/Styles/TextBox.xaml b/HandyControl/Themes/Styles/TextBox.xaml index 0a2c0c6f..9dd31eb8 100644 --- a/HandyControl/Themes/Styles/TextBox.xaml +++ b/HandyControl/Themes/Styles/TextBox.xaml @@ -25,7 +25,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/HandyControl/Themes/Styles/Window.xaml b/HandyControl/Themes/Styles/Window.xaml index 1adda18b..5b186cf7 100644 --- a/HandyControl/Themes/Styles/Window.xaml +++ b/HandyControl/Themes/Styles/Window.xaml @@ -28,11 +28,6 @@ - - - - - diff --git a/HandyControlDemo/App.xaml b/HandyControlDemo/App.xaml index 8e37d27b..c46c95fa 100644 --- a/HandyControlDemo/App.xaml +++ b/HandyControlDemo/App.xaml @@ -4,6 +4,8 @@ xmlns:viewModel="clr-namespace:HandyControlDemo.ViewModel" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d1P1="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:sys="clr-namespace:System;assembly=mscorlib" + xmlns:data="clr-namespace:HandyControlDemo.Data" d1P1:Ignorable="d" StartupUri="MainWindow.xaml"> @@ -16,6 +18,13 @@ + + + + + + + diff --git a/HandyControlDemo/Data/Enum/DemoType.cs b/HandyControlDemo/Data/Enum/DemoType.cs new file mode 100644 index 00000000..f6805aa1 --- /dev/null +++ b/HandyControlDemo/Data/Enum/DemoType.cs @@ -0,0 +1,13 @@ +// ReSharper disable once CheckNamespace +namespace HandyControlDemo.Data +{ + public enum DemoType + { + Type1 = 1, + Type2, + Type3, + Type4, + Type5, + Type6 + } +} \ No newline at end of file diff --git a/HandyControlDemo/Data/MessageToken.cs b/HandyControlDemo/Data/MessageToken.cs index 185d6790..21b03fb6 100644 --- a/HandyControlDemo/Data/MessageToken.cs +++ b/HandyControlDemo/Data/MessageToken.cs @@ -30,6 +30,8 @@ public static readonly string NumericUpDownDemoCtl = nameof(NumericUpDownDemoCtl); + public static readonly string WindowDemoCtl = nameof(WindowDemoCtl); + public static readonly string ButtonDemoCtl = nameof(ButtonDemoCtl); public static readonly string ToggleButtonDemoCtl = nameof(ToggleButtonDemoCtl); @@ -54,6 +56,18 @@ public static readonly string NaiveTabControlDemoCtl = nameof(NaiveTabControlDemoCtl); + public static readonly string DataGridDemoCtl = nameof(DataGridDemoCtl); + + public static readonly string CheckBoxDemoCtl = nameof(CheckBoxDemoCtl); + + public static readonly string ListBoxDemoCtl = nameof(ListBoxDemoCtl); + + public static readonly string MenuDemoCtl = nameof(MenuDemoCtl); + + public static readonly string TreeViewDemoCtl = nameof(TreeViewDemoCtl); + + public static readonly string BorderDemoCtl = nameof(BorderDemoCtl); + public static readonly string LoadShowContent = nameof(LoadShowContent); } } \ No newline at end of file diff --git a/HandyControlDemo/Data/MessageToken.tt b/HandyControlDemo/Data/MessageToken.tt index d7a2467e..646d0b1a 100644 --- a/HandyControlDemo/Data/MessageToken.tt +++ b/HandyControlDemo/Data/MessageToken.tt @@ -17,7 +17,8 @@ var controlList = new List "ClockDemoCtl", "TimePickerDemoCtl", "CirclePanelDemoCtl", - "NumericUpDownDemoCtl" + "NumericUpDownDemoCtl", + "WindowDemoCtl" }; var styleList = new List { @@ -32,7 +33,13 @@ var styleList = new List "TextBlockDemoCtl", "ComboBoxDemoCtl", "PasswordBoxDemoCtl", - "NaiveTabControlDemoCtl" + "NaiveTabControlDemoCtl", + "DataGridDemoCtl", + "CheckBoxDemoCtl", + "ListBoxDemoCtl", + "MenuDemoCtl", + "TreeViewDemoCtl", + "BorderDemoCtl" }; #> namespace HandyControlDemo.Data diff --git a/HandyControlDemo/Data/Model/DemoDataModel.cs b/HandyControlDemo/Data/Model/DemoDataModel.cs new file mode 100644 index 00000000..27cd2659 --- /dev/null +++ b/HandyControlDemo/Data/Model/DemoDataModel.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; + +// ReSharper disable once CheckNamespace +namespace HandyControlDemo.Data +{ + public class DemoDataModel + { + public int Index { get; set; } + + public string Name { get; set; } + + public bool IsSelected { get; set; } + + public string Remark { get; set; } + + public DemoType Type { get; set; } + + public List DataList { get; set; } + } +} \ No newline at end of file diff --git a/HandyControlDemo/HandyControlDemo.csproj b/HandyControlDemo/HandyControlDemo.csproj index 8095c7b9..43508689 100644 --- a/HandyControlDemo/HandyControlDemo.csproj +++ b/HandyControlDemo/HandyControlDemo.csproj @@ -62,11 +62,13 @@ MSBuild:Compile Designer + True True MessageToken.tt + True True @@ -115,18 +117,30 @@ TimePickerDemoCtl.xaml + + WindowDemoCtl.xaml + NoUserContent.xaml + + BorderDemoCtl.xaml + ButtonDemoCtl.xaml CalendarDemoCtl.xaml + + CheckBoxDemoCtl.xaml + ComboBoxDemoCtl.xaml + + DataGridDemoCtl.xaml + DatePickerDemoCtl.xaml @@ -145,6 +159,12 @@ TimeBarDemoCtl.xaml + + ListBoxDemoCtl.xaml + + + MenuDemoCtl.xaml + NaiveTabControlDemoCtl.xaml @@ -166,6 +186,9 @@ ToggleButtonDemoCtl.xaml + + TreeViewDemoCtl.xaml + @@ -263,10 +286,18 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -275,10 +306,18 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -303,6 +342,14 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -331,6 +378,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + @@ -359,6 +410,39 @@ TextTemplatingFileGenerator MessageToken.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -374,6 +458,7 @@ PublicResXFileCodeGenerator Lang.Designer.cs + Designer diff --git a/HandyControlDemo/MainWindow.xaml b/HandyControlDemo/MainWindow.xaml index 521d4d43..08a2b836 100644 --- a/HandyControlDemo/MainWindow.xaml +++ b/HandyControlDemo/MainWindow.xaml @@ -13,6 +13,7 @@ Style="{StaticResource CustomWindowStyle}" WindowState="Maximized" Title="MainWindow" + ResizeMode="CanResizeWithGrip" Name="MyWindow" DataContext="{Binding Main,Source={StaticResource Locator}}" d:DesignHeight="800" diff --git a/HandyControlDemo/Properties/AssemblyInfo.cs b/HandyControlDemo/Properties/AssemblyInfo.cs index db61bf36..35c8ecf9 100644 --- a/HandyControlDemo/Properties/AssemblyInfo.cs +++ b/HandyControlDemo/Properties/AssemblyInfo.cs @@ -12,5 +12,5 @@ using System.Windows; [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] -[assembly: AssemblyVersion("1.3.3")] -[assembly: AssemblyFileVersion("1.3.3")] +[assembly: AssemblyVersion("1.3.4")] +[assembly: AssemblyFileVersion("1.3.4")] diff --git a/HandyControlDemo/Properties/Langs/Lang.Designer.cs b/HandyControlDemo/Properties/Langs/Lang.Designer.cs index a106e2e9..0c5d39f9 100644 --- a/HandyControlDemo/Properties/Langs/Lang.Designer.cs +++ b/HandyControlDemo/Properties/Langs/Lang.Designer.cs @@ -78,6 +78,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 边框 的本地化字符串。 + /// + public static string Border1 { + get { + return ResourceManager.GetString("Border1", resourceCulture); + } + } + /// /// 查找类似 按钮 的本地化字符串。 /// @@ -204,6 +213,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 数据表格 的本地化字符串。 + /// + public static string DataGrid { + get { + return ResourceManager.GetString("DataGrid", resourceCulture); + } + } + /// /// 查找类似 日期选择器 的本地化字符串。 /// @@ -303,6 +321,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 索引 的本地化字符串。 + /// + public static string Index { + get { + return ResourceManager.GetString("Index", resourceCulture); + } + } + /// /// 查找类似 信息 的本地化字符串。 /// @@ -312,6 +339,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 列表框 的本地化字符串。 + /// + public static string ListBox { + get { + return ResourceManager.GetString("ListBox", resourceCulture); + } + } + /// /// 查找类似 加载条 的本地化字符串。 /// @@ -321,6 +357,24 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 菜单 的本地化字符串。 + /// + public static string Menu { + get { + return ResourceManager.GetString("Menu", resourceCulture); + } + } + + /// + /// 查找类似 名称 的本地化字符串。 + /// + public static string Name { + get { + return ResourceManager.GetString("Name", resourceCulture); + } + } + /// /// 查找类似 下一步 的本地化字符串。 /// @@ -411,6 +465,42 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 备注 的本地化字符串。 + /// + public static string Remark { + get { + return ResourceManager.GetString("Remark", resourceCulture); + } + } + + /// + /// 查找类似 在这里右击 的本地化字符串。 + /// + public static string RightClickHere { + get { + return ResourceManager.GetString("RightClickHere", resourceCulture); + } + } + + /// + /// 查找类似 滚动视图 的本地化字符串。 + /// + public static string ScrollViewer { + get { + return ResourceManager.GetString("ScrollViewer", resourceCulture); + } + } + + /// + /// 查找类似 选中 的本地化字符串。 + /// + public static string Selected { + get { + return ResourceManager.GetString("Selected", resourceCulture); + } + } + /// /// 查找类似 步骤条 的本地化字符串。 /// @@ -546,6 +636,24 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 树视图 的本地化字符串。 + /// + public static string TreeView { + get { + return ResourceManager.GetString("TreeView", resourceCulture); + } + } + + /// + /// 查找类似 类型 的本地化字符串。 + /// + public static string Type { + get { + return ResourceManager.GetString("Type", resourceCulture); + } + } + /// /// 查找类似 上传文件 的本地化字符串。 /// @@ -563,5 +671,14 @@ namespace HandyControlDemo.Properties.Langs { return ResourceManager.GetString("Warning", resourceCulture); } } + + /// + /// 查找类似 窗口 的本地化字符串。 + /// + public static string Window { + get { + return ResourceManager.GetString("Window", resourceCulture); + } + } } } diff --git a/HandyControlDemo/Properties/Langs/Lang.en.resx b/HandyControlDemo/Properties/Langs/Lang.en.resx index 456eadb3..252a3c85 100644 --- a/HandyControlDemo/Properties/Langs/Lang.en.resx +++ b/HandyControlDemo/Properties/Langs/Lang.en.resx @@ -285,4 +285,43 @@ NumericUpDown + + DataGrid + + + Index + + + Name + + + Type + + + Remark + + + Selected + + + ListBox + + + TreeView + + + Border + + + ScrollViewer + + + Window + + + Menu + + + Right click here + \ No newline at end of file diff --git a/HandyControlDemo/Properties/Langs/Lang.resx b/HandyControlDemo/Properties/Langs/Lang.resx index 4956b5ff..b64755f2 100644 --- a/HandyControlDemo/Properties/Langs/Lang.resx +++ b/HandyControlDemo/Properties/Langs/Lang.resx @@ -265,4 +265,43 @@ 数值选择控件 + + 数据表格 + + + 索引 + + + 名称 + + + 类型 + + + 备注 + + + 选中 + + + 列表框 + + + 树视图 + + + 边框 + + + 滚动视图 + + + 窗口 + + + 菜单 + + + 在这里右击 + \ No newline at end of file diff --git a/HandyControlDemo/Resources/Img/BorderElement_16x.png b/HandyControlDemo/Resources/Img/BorderElement_16x.png new file mode 100644 index 00000000..d1d7331a Binary files /dev/null and b/HandyControlDemo/Resources/Img/BorderElement_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ButtonClick_16x.png b/HandyControlDemo/Resources/Img/ButtonClick_16x.png new file mode 100644 index 00000000..b2e0d5cd Binary files /dev/null and b/HandyControlDemo/Resources/Img/ButtonClick_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Calendar_16x.png b/HandyControlDemo/Resources/Img/Calendar_16x.png new file mode 100644 index 00000000..a2dbfeaa Binary files /dev/null and b/HandyControlDemo/Resources/Img/Calendar_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Carousel_16x.png b/HandyControlDemo/Resources/Img/Carousel_16x.png new file mode 100644 index 00000000..670eab97 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Carousel_16x.png differ diff --git a/HandyControlDemo/Resources/Img/CheckBox_16x.png b/HandyControlDemo/Resources/Img/CheckBox_16x.png new file mode 100644 index 00000000..06044dac Binary files /dev/null and b/HandyControlDemo/Resources/Img/CheckBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ColorPalette_16x.png b/HandyControlDemo/Resources/Img/ColorPalette_16x.png new file mode 100644 index 00000000..7ca52621 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ColorPalette_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ComboBox_16x.png b/HandyControlDemo/Resources/Img/ComboBox_16x.png new file mode 100644 index 00000000..24eb2a84 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ComboBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ContextMenu_16x.png b/HandyControlDemo/Resources/Img/ContextMenu_16x.png new file mode 100644 index 00000000..18fad3e0 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ContextMenu_16x.png differ diff --git a/HandyControlDemo/Resources/Img/DataGrid_16x.png b/HandyControlDemo/Resources/Img/DataGrid_16x.png new file mode 100644 index 00000000..49071e13 Binary files /dev/null and b/HandyControlDemo/Resources/Img/DataGrid_16x.png differ diff --git a/HandyControlDemo/Resources/Img/DatePicker_16x.png b/HandyControlDemo/Resources/Img/DatePicker_16x.png new file mode 100644 index 00000000..53418b70 Binary files /dev/null and b/HandyControlDemo/Resources/Img/DatePicker_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Expander_16x.png b/HandyControlDemo/Resources/Img/Expander_16x.png new file mode 100644 index 00000000..da4dead8 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Expander_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Flow_16x.png b/HandyControlDemo/Resources/Img/Flow_16x.png new file mode 100644 index 00000000..08c388d6 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Flow_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ImageBrowser_16x.png b/HandyControlDemo/Resources/Img/ImageBrowser_16x.png new file mode 100644 index 00000000..5a3088ff Binary files /dev/null and b/HandyControlDemo/Resources/Img/ImageBrowser_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ListBox_16x.png b/HandyControlDemo/Resources/Img/ListBox_16x.png new file mode 100644 index 00000000..4bde75e3 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ListBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Loading_Blue_16x.png b/HandyControlDemo/Resources/Img/Loading_Blue_16x.png new file mode 100644 index 00000000..6f48361f Binary files /dev/null and b/HandyControlDemo/Resources/Img/Loading_Blue_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Message_16x.png b/HandyControlDemo/Resources/Img/Message_16x.png new file mode 100644 index 00000000..7d06b199 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Message_16x.png differ diff --git a/HandyControlDemo/Resources/Img/NumericListBox_16x.png b/HandyControlDemo/Resources/Img/NumericListBox_16x.png new file mode 100644 index 00000000..455b6a23 Binary files /dev/null and b/HandyControlDemo/Resources/Img/NumericListBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Paginator_16x.png b/HandyControlDemo/Resources/Img/Paginator_16x.png new file mode 100644 index 00000000..88a22536 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Paginator_16x.png differ diff --git a/HandyControlDemo/Resources/Img/PasswordBox_16x.png b/HandyControlDemo/Resources/Img/PasswordBox_16x.png new file mode 100644 index 00000000..8f1bc5ed Binary files /dev/null and b/HandyControlDemo/Resources/Img/PasswordBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Path_16x.png b/HandyControlDemo/Resources/Img/Path_16x.png new file mode 100644 index 00000000..bf46dd2f Binary files /dev/null and b/HandyControlDemo/Resources/Img/Path_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ProgressBar_16x.png b/HandyControlDemo/Resources/Img/ProgressBar_16x.png new file mode 100644 index 00000000..d3e89853 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ProgressBar_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ScrollBox_16x.png b/HandyControlDemo/Resources/Img/ScrollBox_16x.png new file mode 100644 index 00000000..0ba07632 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ScrollBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/ShapeArcRing_16x.png b/HandyControlDemo/Resources/Img/ShapeArcRing_16x.png new file mode 100644 index 00000000..64f52301 Binary files /dev/null and b/HandyControlDemo/Resources/Img/ShapeArcRing_16x.png differ diff --git a/HandyControlDemo/Resources/Img/SplitterControl_16x.png b/HandyControlDemo/Resources/Img/SplitterControl_16x.png new file mode 100644 index 00000000..a059b084 Binary files /dev/null and b/HandyControlDemo/Resources/Img/SplitterControl_16x.png differ diff --git a/HandyControlDemo/Resources/Img/TabPage_16x.png b/HandyControlDemo/Resources/Img/TabPage_16x.png new file mode 100644 index 00000000..2bcb7fce Binary files /dev/null and b/HandyControlDemo/Resources/Img/TabPage_16x.png differ diff --git a/HandyControlDemo/Resources/Img/TextBlock_16x.png b/HandyControlDemo/Resources/Img/TextBlock_16x.png new file mode 100644 index 00000000..768924b9 Binary files /dev/null and b/HandyControlDemo/Resources/Img/TextBlock_16x.png differ diff --git a/HandyControlDemo/Resources/Img/TextBox_16x.png b/HandyControlDemo/Resources/Img/TextBox_16x.png new file mode 100644 index 00000000..503a808b Binary files /dev/null and b/HandyControlDemo/Resources/Img/TextBox_16x.png differ diff --git a/HandyControlDemo/Resources/Img/TimePicker_16x.png b/HandyControlDemo/Resources/Img/TimePicker_16x.png new file mode 100644 index 00000000..244c6fdd Binary files /dev/null and b/HandyControlDemo/Resources/Img/TimePicker_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Time_color_16x.png b/HandyControlDemo/Resources/Img/Time_color_16x.png new file mode 100644 index 00000000..42f08e1c Binary files /dev/null and b/HandyControlDemo/Resources/Img/Time_color_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Timeline_16x.png b/HandyControlDemo/Resources/Img/Timeline_16x.png new file mode 100644 index 00000000..793d5011 Binary files /dev/null and b/HandyControlDemo/Resources/Img/Timeline_16x.png differ diff --git a/HandyControlDemo/Resources/Img/Toggle_16x.png b/HandyControlDemo/Resources/Img/Toggle_16x.png new file mode 100644 index 00000000..70f202dc Binary files /dev/null and b/HandyControlDemo/Resources/Img/Toggle_16x.png differ diff --git a/HandyControlDemo/Resources/Img/TreeView_16x.png b/HandyControlDemo/Resources/Img/TreeView_16x.png new file mode 100644 index 00000000..e944d293 Binary files /dev/null and b/HandyControlDemo/Resources/Img/TreeView_16x.png differ diff --git a/HandyControlDemo/Resources/Img/WindowsForm_16x.png b/HandyControlDemo/Resources/Img/WindowsForm_16x.png new file mode 100644 index 00000000..764adcb2 Binary files /dev/null and b/HandyControlDemo/Resources/Img/WindowsForm_16x.png differ diff --git a/HandyControlDemo/Resources/Themes/Styles/ListBoxItem.xaml b/HandyControlDemo/Resources/Themes/Styles/ListBoxItem.xaml index 98f2bec8..c19fbc87 100644 --- a/HandyControlDemo/Resources/Themes/Styles/ListBoxItem.xaml +++ b/HandyControlDemo/Resources/Themes/Styles/ListBoxItem.xaml @@ -1,5 +1,6 @@  + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"> @@ -15,29 +16,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HandyControlDemo/UserControl/Controls/NumericUpDownDemoCtl.xaml b/HandyControlDemo/UserControl/Controls/NumericUpDownDemoCtl.xaml index 1e48e96e..a0a6ade4 100644 --- a/HandyControlDemo/UserControl/Controls/NumericUpDownDemoCtl.xaml +++ b/HandyControlDemo/UserControl/Controls/NumericUpDownDemoCtl.xaml @@ -2,10 +2,18 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl" + xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs" Background="White"> - + + + + + + + + diff --git a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml new file mode 100644 index 00000000..184b6140 --- /dev/null +++ b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs new file mode 100644 index 00000000..14c94f45 --- /dev/null +++ b/HandyControlDemo/UserControl/Controls/WindowDemoCtl.xaml.cs @@ -0,0 +1,11 @@ +// ReSharper disable once CheckNamespace +namespace HandyControlDemo.UserControl +{ + public partial class WindowDemoCtl + { + public WindowDemoCtl() + { + InitializeComponent(); + } + } +} diff --git a/HandyControlDemo/UserControl/Main/LeftMainContent.xaml b/HandyControlDemo/UserControl/Main/LeftMainContent.xaml index cc126180..85c0a650 100644 --- a/HandyControlDemo/UserControl/Main/LeftMainContent.xaml +++ b/HandyControlDemo/UserControl/Main/LeftMainContent.xaml @@ -15,36 +15,175 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HandyControlDemo/UserControl/Main/NoUserContent.xaml b/HandyControlDemo/UserControl/Main/NoUserContent.xaml index 4523aeea..bc77a5db 100644 --- a/HandyControlDemo/UserControl/Main/NoUserContent.xaml +++ b/HandyControlDemo/UserControl/Main/NoUserContent.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl" Orientation="Horizontal"> -