From 2ea451fe82115aa9d8e7f31b7a5c60a4efce8188 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 27 May 2026 22:46:31 +0800 Subject: [PATCH] chore: Make several control dependency properties public. Add VSCode debug/tasks configs for running/building the demo across multiple .NET frameworks (.vscode/launch.json, .vscode/tasks.json). Update HandyControl_Net_GE45.csproj PreBuild target to run only for cross-targeting builds. Change access modifiers on multiple dependency properties and related CLR properties across shared controls (ColorPicker, ImageViewer, NumericUpDown, TimeBar, PopupWindow) to expose the DP fields publicly while making setters internal where appropriate to restrict external mutation. Also make SideMenuItem.Role setter public. These changes expose select properties for external use and adjust build/debug convenience for development. --- .vscode/launch.json | 195 +++++++++++++ .vscode/tasks.json | 270 ++++++++++++++++++ .../HandyControl_Net_GE45.csproj | 2 +- .../Controls/ColorPicker/ColorPicker.cs | 12 +- .../Controls/Image/ImageViewer.cs | 40 +-- .../Controls/Input/NumericUpDown.cs | 4 +- .../Controls/SideMenu/SideMenuItem.cs | 2 +- .../Controls/Time/TimeBar/TimeBar.cs | 6 +- .../Controls/Window/PopupWindow.cs | 6 +- 9 files changed, 501 insertions(+), 36 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..e92d3776 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,195 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run HandyControlDemo (netcoreapp3.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "netcoreapp3.0"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (netcoreapp3.1)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "netcoreapp3.1"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net45)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net45"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net451)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net451"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net452)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net452"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net46)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net46"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net461)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net461"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net462)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net462"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net47)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net47"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net471)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net471"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net472)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net472"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net48)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net48"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net481)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net481"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net5.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net5.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net6.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net6.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net7.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net7.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net8.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net8.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net9.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net9.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + }, + { + "name": "Run HandyControlDemo (net10.0-windows)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run", "--project", "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", "-f", "net10.0-windows"], + "cwd": "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45", + "console": "integratedTerminal", + "stopAtEntry": false + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..1a9a0e70 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,270 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build-hcdemo-all-frameworks", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-c", + "Debug", + "-v", + "minimal" + ], + "problemMatcher": "$msCompile", + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "run-hcdemo-net10.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net10.0-windows" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-netcoreapp3.0", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "netcoreapp3.0" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-netcoreapp3.1", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "netcoreapp3.1" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net45", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net45" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net451", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net451" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net452", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net452" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net46", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net46" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net461", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net461" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net462", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net462" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net47", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net47" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net471", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net471" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net472", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net472" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net48", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net48" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net481", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net481" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net5.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net5.0-windows" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net6.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net6.0-windows" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net7.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net7.0-windows" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net8.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net8.0-windows" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "run-hcdemo-net9.0-windows", + "type": "shell", + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj", + "-f", + "net9.0-windows" + ], + "problemMatcher": "$msCompile" + } + ] +} diff --git a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj index d90c72e8..5e36b630 100644 --- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj +++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj @@ -167,7 +167,7 @@ Resources\Images\GlowWindow\topright.png - + diff --git a/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs index d6da624f..580f9f1d 100644 --- a/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs +++ b/src/Shared/HandyControl_Shared/Controls/ColorPicker/ColorPicker.cs @@ -299,22 +299,22 @@ public class ColorPicker : Control, ISingleOpen set => SetValue(SelectedBrushProperty, value); } - internal static readonly DependencyProperty SelectedBrushWithoutOpacityProperty = DependencyProperty.Register( + public static readonly DependencyProperty SelectedBrushWithoutOpacityProperty = DependencyProperty.Register( nameof(SelectedBrushWithoutOpacity), typeof(SolidColorBrush), typeof(ColorPicker), new PropertyMetadata(Brushes.White)); - internal SolidColorBrush SelectedBrushWithoutOpacity + public SolidColorBrush SelectedBrushWithoutOpacity { get => (SolidColorBrush) GetValue(SelectedBrushWithoutOpacityProperty); - set => SetValue(SelectedBrushWithoutOpacityProperty, value); + internal set => SetValue(SelectedBrushWithoutOpacityProperty, value); } - internal static readonly DependencyProperty BackColorProperty = DependencyProperty.Register( + public static readonly DependencyProperty BackColorProperty = DependencyProperty.Register( nameof(BackColor), typeof(SolidColorBrush), typeof(ColorPicker), new PropertyMetadata(Brushes.Red)); - internal SolidColorBrush BackColor + public SolidColorBrush BackColor { get => (SolidColorBrush) GetValue(BackColorProperty); - set => SetValue(BackColorProperty, value); + internal set => SetValue(BackColorProperty, value); } internal static readonly DependencyProperty ShowListProperty = DependencyProperty.Register( diff --git a/src/Shared/HandyControl_Shared/Controls/Image/ImageViewer.cs b/src/Shared/HandyControl_Shared/Controls/Image/ImageViewer.cs index f6ef284a..b42a57eb 100644 --- a/src/Shared/HandyControl_Shared/Controls/Image/ImageViewer.cs +++ b/src/Shared/HandyControl_Shared/Controls/Image/ImageViewer.cs @@ -237,7 +237,7 @@ public class ImageViewer : Control, IDisposable internal static readonly DependencyProperty ImgSizeProperty = DependencyProperty.Register( nameof(ImgSize), typeof(long), typeof(ImageViewer), new PropertyMetadata(-1L)); - internal static readonly DependencyProperty ShowFullScreenButtonProperty = DependencyProperty.Register( + public static readonly DependencyProperty ShowFullScreenButtonProperty = DependencyProperty.Register( nameof(ShowFullScreenButton), typeof(bool), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.FalseBox)); internal static readonly DependencyProperty ShowCloseButtonProperty = DependencyProperty.Register( @@ -246,25 +246,25 @@ public class ImageViewer : Control, IDisposable internal static readonly DependencyProperty ImageContentProperty = DependencyProperty.Register( nameof(ImageContent), typeof(object), typeof(ImageViewer), new PropertyMetadata(default(object))); - internal static readonly DependencyProperty ImageMarginProperty = DependencyProperty.Register( + public static readonly DependencyProperty ImageMarginProperty = DependencyProperty.Register( nameof(ImageMargin), typeof(Thickness), typeof(ImageViewer), new PropertyMetadata(default(Thickness))); - internal static readonly DependencyProperty ImageWidthProperty = DependencyProperty.Register( + public static readonly DependencyProperty ImageWidthProperty = DependencyProperty.Register( nameof(ImageWidth), typeof(double), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.Double0Box)); - internal static readonly DependencyProperty ImageHeightProperty = DependencyProperty.Register( + public static readonly DependencyProperty ImageHeightProperty = DependencyProperty.Register( nameof(ImageHeight), typeof(double), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.Double0Box)); internal static readonly DependencyProperty ImageScaleProperty = DependencyProperty.Register( nameof(ImageScale), typeof(double), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.Double1Box, OnImageScaleChanged)); - internal static readonly DependencyProperty ScaleStrProperty = DependencyProperty.Register( + public static readonly DependencyProperty ScaleStrProperty = DependencyProperty.Register( nameof(ScaleStr), typeof(string), typeof(ImageViewer), new PropertyMetadata("100%")); internal static readonly DependencyProperty ImageRotateProperty = DependencyProperty.Register( nameof(ImageRotate), typeof(double), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.Double0Box)); - internal static readonly DependencyProperty ShowSmallImgInternalProperty = DependencyProperty.Register( + public static readonly DependencyProperty ShowSmallImgInternalProperty = DependencyProperty.Register( nameof(ShowSmallImgInternal), typeof(bool), typeof(ImageViewer), new PropertyMetadata(ValueBoxes.FalseBox)); public bool IsFullScreen @@ -326,28 +326,28 @@ public class ImageViewer : Control, IDisposable /// /// 是否显示全屏按钮 /// - internal bool ShowFullScreenButton + public bool ShowFullScreenButton { get => (bool) GetValue(ShowFullScreenButtonProperty); - set => SetValue(ShowFullScreenButtonProperty, ValueBoxes.BooleanBox(value)); + internal set => SetValue(ShowFullScreenButtonProperty, ValueBoxes.BooleanBox(value)); } - internal Thickness ImageMargin + public Thickness ImageMargin { get => (Thickness) GetValue(ImageMarginProperty); - set => SetValue(ImageMarginProperty, value); + internal set => SetValue(ImageMarginProperty, value); } - internal double ImageWidth + public double ImageWidth { get => (double) GetValue(ImageWidthProperty); - set => SetValue(ImageWidthProperty, value); + internal set => SetValue(ImageWidthProperty, value); } - internal double ImageHeight + public double ImageHeight { get => (double) GetValue(ImageHeightProperty); - set => SetValue(ImageHeightProperty, value); + internal set => SetValue(ImageHeightProperty, value); } internal double ImageScale @@ -356,10 +356,10 @@ public class ImageViewer : Control, IDisposable set => SetValue(ImageScaleProperty, value); } - internal string ScaleStr + public string ScaleStr { get => (string) GetValue(ScaleStrProperty); - set => SetValue(ScaleStrProperty, value); + internal set => SetValue(ScaleStrProperty, value); } internal double ImageRotate @@ -368,10 +368,10 @@ public class ImageViewer : Control, IDisposable set => SetValue(ImageRotateProperty, value); } - internal bool ShowSmallImgInternal + public bool ShowSmallImgInternal { get => (bool) GetValue(ShowSmallImgInternalProperty); - set => SetValue(ShowSmallImgInternalProperty, ValueBoxes.BooleanBox(value)); + internal set => SetValue(ShowSmallImgInternalProperty, ValueBoxes.BooleanBox(value)); } /// @@ -387,10 +387,10 @@ public class ImageViewer : Control, IDisposable /// /// 关闭按钮是否显示中 /// - internal bool ShowCloseButton + public bool ShowCloseButton { get => (bool) GetValue(ShowCloseButtonProperty); - set => SetValue(ShowCloseButtonProperty, ValueBoxes.BooleanBox(value)); + internal set => SetValue(ShowCloseButtonProperty, ValueBoxes.BooleanBox(value)); } /// diff --git a/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs b/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs index b4dd3940..dc4732b6 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs @@ -312,13 +312,13 @@ public class NumericUpDown : Control /// /// 是否显示上下调值按钮 /// - internal static readonly DependencyProperty ShowUpDownButtonProperty = DependencyProperty.Register( + public static readonly DependencyProperty ShowUpDownButtonProperty = DependencyProperty.Register( nameof(ShowUpDownButton), typeof(bool), typeof(NumericUpDown), new PropertyMetadata(ValueBoxes.TrueBox)); /// /// 是否显示上下调值按钮 /// - internal bool ShowUpDownButton + public bool ShowUpDownButton { get => (bool) GetValue(ShowUpDownButtonProperty); set => SetValue(ShowUpDownButtonProperty, ValueBoxes.BooleanBox(value)); diff --git a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs index 66c57b5d..e2cd6600 100644 --- a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs +++ b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs @@ -111,7 +111,7 @@ public class SideMenuItem : HeaderedSimpleItemsControl, ISelectable, ICommandSou public SideMenuItemRole Role { get => (SideMenuItemRole) GetValue(RoleProperty); - internal set => SetValue(RoleProperty, value); + set => SetValue(RoleProperty, value); } protected override DependencyObject GetContainerForItemOverride() => new SideMenuItem(); diff --git a/src/Shared/HandyControl_Shared/Controls/Time/TimeBar/TimeBar.cs b/src/Shared/HandyControl_Shared/Controls/Time/TimeBar/TimeBar.cs index 2a48fe4f..499e80fa 100644 --- a/src/Shared/HandyControl_Shared/Controls/Time/TimeBar/TimeBar.cs +++ b/src/Shared/HandyControl_Shared/Controls/Time/TimeBar/TimeBar.cs @@ -94,16 +94,16 @@ public class TimeBar : Control /// /// 刻度字符串 /// - internal static readonly DependencyProperty SpeStrProperty = DependencyProperty.Register( + public static readonly DependencyProperty SpeStrProperty = DependencyProperty.Register( nameof(SpeStr), typeof(string), typeof(TimeBar), new PropertyMetadata(Properties.Langs.Lang.Interval1h)); /// /// 刻度字符串 /// - internal string SpeStr + public string SpeStr { get => (string) GetValue(SpeStrProperty); - set => SetValue(SpeStrProperty, value); + internal set => SetValue(SpeStrProperty, value); } /// diff --git a/src/Shared/HandyControl_Shared/Controls/Window/PopupWindow.cs b/src/Shared/HandyControl_Shared/Controls/Window/PopupWindow.cs index ee28e704..6b0bf757 100644 --- a/src/Shared/HandyControl_Shared/Controls/Window/PopupWindow.cs +++ b/src/Shared/HandyControl_Shared/Controls/Window/PopupWindow.cs @@ -55,13 +55,13 @@ public class PopupWindow : System.Windows.Window } } - internal static readonly DependencyProperty ContentStrProperty = DependencyProperty.Register( + public static readonly DependencyProperty ContentStrProperty = DependencyProperty.Register( nameof(ContentStr), typeof(string), typeof(PopupWindow), new PropertyMetadata(default(string))); - internal string ContentStr + public string ContentStr { get => (string) GetValue(ContentStrProperty); - set => SetValue(ContentStrProperty, value); + internal set => SetValue(ContentStrProperty, value); } private bool IsDialog { get; set; }