diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json index a9998037..93e909e6 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json +++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json @@ -9,6 +9,7 @@ [ "RepeatButton", "RepeatButtonDemo", "Brush.RepeatButton", "", "" ], [ "ToggleButton", "ToggleButtonDemo", "Brush.Toggle", "", "" ], [ "RadioButton", "RadioButtonDemo", "Brush.RadioButton", "", "" ], + [ "HyperlinkButton", "HyperlinkButtonDemo", "Brush.Hyperlink", "", "" ], [ "CheckBox", "CheckBoxDemo", "Brush.CheckBoxChecked", "", "" ], [ "ScrollViewer", "NativeScrollViewerDemo", "Brush.ScrollBox", "", "" ], [ "Slider", "SliderDemo", "Brush.Slider", "", "" ], diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.Designer.cs b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.Designer.cs index ab7f6dd8..91ca2521 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.Designer.cs +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.Designer.cs @@ -1,7 +1,6 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -108,9 +107,9 @@ namespace HandyControlDemo.Properties.Langs { /// /// Looks up a localized string similar to 自动补全文本框. /// - public static string AutoCompleteTextBox { + public static string AutoCompleteBox { get { - return ResourceManager.GetString("AutoCompleteTextBox", resourceCulture); + return ResourceManager.GetString("AutoCompleteBox", resourceCulture); } } @@ -915,6 +914,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// Looks up a localized string similar to 超链接按钮. + /// + public static string HyperlinkButton { + get { + return ResourceManager.GetString("HyperlinkButton", resourceCulture); + } + } + /// /// Looks up a localized string similar to 忽略. /// @@ -1089,7 +1097,7 @@ namespace HandyControlDemo.Properties.Langs { /// /// Looks up a localized string similar to 变形动画. /// - public static string Morphing_Animation { + public static string MorphingAnimation { get { return ResourceManager.GetString("MorphingAnimation", resourceCulture); } diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ca-ES.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ca-ES.resx index abf87bfa..32b0dbcd 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ca-ES.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ca-ES.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.cs.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.cs.resx index 9650c8f3..b74e6316 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.cs.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.cs.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.en.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.en.resx index ce4088e2..f235066f 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.en.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.en.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.es.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.es.resx index 2f4f9ef2..ff6a056e 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.es.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.es.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fa.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fa.resx index b487c080..17fc8176 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fa.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fa.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fr.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fr.resx index 9bfff996..1a3ff505 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fr.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.fr.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ja.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ja.resx index 2d3561cd..06d6a4f9 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ja.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ja.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ko-KR.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ko-KR.resx index 27f4884a..20c3f19c 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ko-KR.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ko-KR.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pl.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pl.resx index ad1de443..ac5b5863 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pl.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pl.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pt-BR.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pt-BR.resx index dc07fb49..6da8819f 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pt-BR.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.pt-BR.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.resx index 14df4a3e..ab76d133 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.resx @@ -132,7 +132,7 @@ 询问 - + 自动补全文本框 @@ -807,4 +807,7 @@ 窗口 + + 超链接按钮 + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ru.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ru.resx index 33cf85cf..a2c03115 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ru.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.ru.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.tr.resx b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.tr.resx index 59cc0321..458a46b7 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.tr.resx +++ b/src/Avalonia/HandyControlDemo_Avalonia/Properties/Langs/Lang.tr.resx @@ -798,8 +798,8 @@ ElementGroup - - AutoCompleteTextBox + + AutoCompleteBox Watermark @@ -807,4 +807,7 @@ Close main window dialog + + HyperlinkButton + \ No newline at end of file diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml index 6c3d12ce..36cbf4fe 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/Resources/Themes/Basic/Brushes.axaml @@ -1866,5 +1866,20 @@ + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CheckBoxDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CheckBoxDemo.axaml index 13f55b5d..7af7957f 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CheckBoxDemo.axaml +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/CheckBoxDemo.axaml @@ -1,26 +1,24 @@ - + - - - + - - - + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml new file mode 100644 index 00000000..bcfb27d5 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml.cs new file mode 100644 index 00000000..b8355b57 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/HyperlinkButtonDemo.axaml.cs @@ -0,0 +1,9 @@ +namespace HandyControlDemo.UserControl; + +public partial class HyperlinkButtonDemo : Avalonia.Controls.UserControl +{ + public HyperlinkButtonDemo() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/BackgroundSwitchElement.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/BackgroundSwitchElement.cs index b8c3d82e..7db673b8 100644 --- a/src/Avalonia/HandyControl_Avalonia/Controls/Attach/BackgroundSwitchElement.cs +++ b/src/Avalonia/HandyControl_Avalonia/Controls/Attach/BackgroundSwitchElement.cs @@ -15,6 +15,16 @@ public class BackgroundSwitchElement public static IBrush GetMouseHoverBackground(AvaloniaObject element) => element.GetValue(MouseHoverBackgroundProperty); + public static readonly AttachedProperty MouseHoverForegroundProperty = + AvaloniaProperty.RegisterAttached("MouseHoverForeground", + defaultValue: Brushes.Transparent, inherits: true); + + public static void SetMouseHoverForeground(AvaloniaObject element, IBrush value) => + element.SetValue(MouseHoverForegroundProperty, value); + + public static IBrush GetMouseHoverForeground(AvaloniaObject element) => + element.GetValue(MouseHoverForegroundProperty); + public static readonly AttachedProperty MouseDownBackgroundProperty = AvaloniaProperty.RegisterAttached("MouseDownBackground", defaultValue: Brushes.Transparent, inherits: true); diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.axaml new file mode 100644 index 00000000..ad55d1bf --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.axaml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.classes.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.classes.axaml new file mode 100644 index 00000000..d1bf32a5 --- /dev/null +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/HyperlinkButton.classes.axaml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml index 8868b28b..f5fceb1a 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/MergedStyles.axaml @@ -32,6 +32,7 @@ + @@ -60,4 +61,6 @@ + + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CheckBoxDemo.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CheckBoxDemo.xaml index f407ce84..8dbaee1f 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CheckBoxDemo.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CheckBoxDemo.xaml @@ -6,13 +6,13 @@ xmlns:ex="clr-namespace:HandyControlDemo.Tools.Extension" Background="{DynamicResource RegionBrush}"> - + - - - - - - + + + + + +