Skip to content

Commit 4d5f453

Browse files
committed
feat: Add DropDownButton styles and demos.
1 parent fffb4d9 commit 4d5f453

7 files changed

Lines changed: 1038 additions & 114 deletions

File tree

src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
[ "Brush", "BrushDemo", "Brush.Brush", "", "" ],
88
[ "Button", "ButtonDemo", "Brush.ButtonClick", "", "" ],
99
[ "SplitButton", "SplitButtonDemo", "Brush.ButtonClick", "", "" ],
10+
[ "DropDownButton", "DropDownButtonDemo", "Brush.ButtonClick", "", "" ],
1011
[ "RepeatButton", "RepeatButtonDemo", "Brush.RepeatButton", "", "" ],
1112
[ "ToggleButton", "ToggleButtonDemo", "Brush.Toggle", "", "" ],
1213
[ "ToggleSwitch", "ToggleSwitchDemo", "Brush.Toggle", "", "" ],
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
<UserControl xmlns="https://github.com/avaloniaui"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:hc="https://handyorg.github.io/handycontrol"
4+
x:Class="HandyControlDemo.UserControl.DropDownButtonDemo"
5+
Background="{DynamicResource RegionBrush}">
6+
<ScrollViewer>
7+
<hc:UniformSpacingPanel ChildWrapping="Wrap"
8+
Spacing="32"
9+
Margin="32">
10+
<hc:UniformSpacingPanel Orientation="Vertical"
11+
Spacing="32">
12+
<WrapPanel>
13+
<StackPanel>
14+
<DropDownButton Content="Default"
15+
Margin="5">
16+
<DropDownButton.Flyout>
17+
<MenuFlyout>
18+
<MenuItem Header="Item 1" />
19+
<MenuItem Header="Item 2" />
20+
<MenuItem Header="Item 3" />
21+
</MenuFlyout>
22+
</DropDownButton.Flyout>
23+
</DropDownButton>
24+
<DropDownButton IsEnabled="False"
25+
Content="Default"
26+
Margin="5" />
27+
</StackPanel>
28+
<StackPanel>
29+
<DropDownButton Content="Primary"
30+
Margin="5"
31+
Theme="{StaticResource DropDownButtonPrimary}">
32+
<DropDownButton.Flyout>
33+
<MenuFlyout>
34+
<MenuItem Header="Item 1" />
35+
<MenuItem Header="Item 2" />
36+
<MenuItem Header="Item 3" />
37+
</MenuFlyout>
38+
</DropDownButton.Flyout>
39+
</DropDownButton>
40+
<DropDownButton IsEnabled="False"
41+
Content="Primary"
42+
Margin="5"
43+
Theme="{StaticResource DropDownButtonPrimary}" />
44+
</StackPanel>
45+
<StackPanel>
46+
<DropDownButton Content="Success"
47+
Margin="5"
48+
Theme="{StaticResource DropDownButtonSuccess}">
49+
<DropDownButton.Flyout>
50+
<MenuFlyout>
51+
<MenuItem Header="Item 1" />
52+
<MenuItem Header="Item 2" />
53+
<MenuItem Header="Item 3" />
54+
</MenuFlyout>
55+
</DropDownButton.Flyout>
56+
</DropDownButton>
57+
<DropDownButton IsEnabled="False"
58+
Content="Success"
59+
Margin="5"
60+
Theme="{StaticResource DropDownButtonSuccess}" />
61+
</StackPanel>
62+
<StackPanel>
63+
<DropDownButton Content="Info"
64+
Margin="5"
65+
Theme="{StaticResource DropDownButtonInfo}">
66+
<DropDownButton.Flyout>
67+
<MenuFlyout>
68+
<MenuItem Header="Item 1" />
69+
<MenuItem Header="Item 2" />
70+
<MenuItem Header="Item 3" />
71+
</MenuFlyout>
72+
</DropDownButton.Flyout>
73+
</DropDownButton>
74+
<DropDownButton IsEnabled="False"
75+
Content="Info"
76+
Margin="5"
77+
Theme="{StaticResource DropDownButtonInfo}" />
78+
</StackPanel>
79+
<StackPanel>
80+
<DropDownButton Content="Warning"
81+
Margin="5"
82+
Theme="{StaticResource DropDownButtonWarning}">
83+
<DropDownButton.Flyout>
84+
<MenuFlyout>
85+
<MenuItem Header="Item 1" />
86+
<MenuItem Header="Item 2" />
87+
<MenuItem Header="Item 3" />
88+
</MenuFlyout>
89+
</DropDownButton.Flyout>
90+
</DropDownButton>
91+
<DropDownButton IsEnabled="False"
92+
Content="Warning"
93+
Margin="5"
94+
Theme="{StaticResource DropDownButtonWarning}" />
95+
</StackPanel>
96+
<StackPanel>
97+
<DropDownButton Content="Danger"
98+
Margin="5"
99+
Theme="{StaticResource DropDownButtonDanger}">
100+
<DropDownButton.Flyout>
101+
<MenuFlyout>
102+
<MenuItem Header="Item 1" />
103+
<MenuItem Header="Item 2" />
104+
<MenuItem Header="Item 3" />
105+
</MenuFlyout>
106+
</DropDownButton.Flyout>
107+
</DropDownButton>
108+
<DropDownButton IsEnabled="False"
109+
Content="Danger"
110+
Margin="5"
111+
Theme="{StaticResource DropDownButtonDanger}" />
112+
</StackPanel>
113+
</WrapPanel>
114+
115+
<WrapPanel>
116+
<StackPanel>
117+
<DropDownButton Content="Calendar"
118+
Margin="5"
119+
hc:IconElement.Geometry="{StaticResource CalendarGeometry}">
120+
<DropDownButton.Flyout>
121+
<MenuFlyout>
122+
<MenuItem Header="Today" />
123+
<MenuItem Header="Tomorrow" />
124+
<MenuItem Header="Next Week" />
125+
</MenuFlyout>
126+
</DropDownButton.Flyout>
127+
</DropDownButton>
128+
</StackPanel>
129+
<StackPanel>
130+
<DropDownButton Content="Calendar"
131+
Margin="5"
132+
Theme="{StaticResource DropDownButtonPrimary}"
133+
hc:IconElement.Geometry="{StaticResource CalendarGeometry}">
134+
<DropDownButton.Flyout>
135+
<MenuFlyout>
136+
<MenuItem Header="Today" />
137+
<MenuItem Header="Tomorrow" />
138+
<MenuItem Header="Next Week" />
139+
</MenuFlyout>
140+
</DropDownButton.Flyout>
141+
</DropDownButton>
142+
</StackPanel>
143+
</WrapPanel>
144+
</hc:UniformSpacingPanel>
145+
146+
<hc:UniformSpacingPanel Orientation="Vertical"
147+
Spacing="32">
148+
<WrapPanel>
149+
<StackPanel>
150+
<DropDownButton Content="Default"
151+
Margin="5"
152+
Theme="{StaticResource DropDownButton.Small}">
153+
<DropDownButton.Flyout>
154+
<MenuFlyout>
155+
<MenuItem Header="Item 1" />
156+
<MenuItem Header="Item 2" />
157+
</MenuFlyout>
158+
</DropDownButton.Flyout>
159+
</DropDownButton>
160+
<DropDownButton IsEnabled="False"
161+
Content="Default"
162+
Margin="5"
163+
Theme="{StaticResource DropDownButton.Small}" />
164+
</StackPanel>
165+
<StackPanel>
166+
<DropDownButton Content="Primary"
167+
Margin="5"
168+
Theme="{StaticResource DropDownButtonPrimary.Small}">
169+
<DropDownButton.Flyout>
170+
<MenuFlyout>
171+
<MenuItem Header="Item 1" />
172+
<MenuItem Header="Item 2" />
173+
</MenuFlyout>
174+
</DropDownButton.Flyout>
175+
</DropDownButton>
176+
<DropDownButton IsEnabled="False"
177+
Content="Primary"
178+
Margin="5"
179+
Theme="{StaticResource DropDownButtonPrimary.Small}" />
180+
</StackPanel>
181+
<StackPanel>
182+
<DropDownButton Content="Success"
183+
Margin="5"
184+
Theme="{StaticResource DropDownButtonSuccess.Small}">
185+
<DropDownButton.Flyout>
186+
<MenuFlyout>
187+
<MenuItem Header="Item 1" />
188+
<MenuItem Header="Item 2" />
189+
</MenuFlyout>
190+
</DropDownButton.Flyout>
191+
</DropDownButton>
192+
<DropDownButton IsEnabled="False"
193+
Content="Success"
194+
Margin="5"
195+
Theme="{StaticResource DropDownButtonSuccess.Small}" />
196+
</StackPanel>
197+
<StackPanel>
198+
<DropDownButton Content="Info"
199+
Margin="5"
200+
Theme="{StaticResource DropDownButtonInfo.Small}">
201+
<DropDownButton.Flyout>
202+
<MenuFlyout>
203+
<MenuItem Header="Item 1" />
204+
<MenuItem Header="Item 2" />
205+
</MenuFlyout>
206+
</DropDownButton.Flyout>
207+
</DropDownButton>
208+
<DropDownButton IsEnabled="False"
209+
Content="Info"
210+
Margin="5"
211+
Theme="{StaticResource DropDownButtonInfo.Small}" />
212+
</StackPanel>
213+
<StackPanel>
214+
<DropDownButton Content="Warning"
215+
Margin="5"
216+
Theme="{StaticResource DropDownButtonWarning.Small}">
217+
<DropDownButton.Flyout>
218+
<MenuFlyout>
219+
<MenuItem Header="Item 1" />
220+
<MenuItem Header="Item 2" />
221+
</MenuFlyout>
222+
</DropDownButton.Flyout>
223+
</DropDownButton>
224+
<DropDownButton IsEnabled="False"
225+
Content="Warning"
226+
Margin="5"
227+
Theme="{StaticResource DropDownButtonWarning.Small}" />
228+
</StackPanel>
229+
<StackPanel>
230+
<DropDownButton Content="Danger"
231+
Margin="5"
232+
Theme="{StaticResource DropDownButtonDanger.Small}">
233+
<DropDownButton.Flyout>
234+
<MenuFlyout>
235+
<MenuItem Header="Item 1" />
236+
<MenuItem Header="Item 2" />
237+
</MenuFlyout>
238+
</DropDownButton.Flyout>
239+
</DropDownButton>
240+
<DropDownButton IsEnabled="False"
241+
Content="Danger"
242+
Margin="5"
243+
Theme="{StaticResource DropDownButtonDanger.Small}" />
244+
</StackPanel>
245+
</WrapPanel>
246+
</hc:UniformSpacingPanel>
247+
</hc:UniformSpacingPanel>
248+
</ScrollViewer>
249+
</UserControl>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace HandyControlDemo.UserControl;
2+
3+
public partial class DropDownButtonDemo : Avalonia.Controls.UserControl
4+
{
5+
public DropDownButtonDemo()
6+
{
7+
InitializeComponent();
8+
}
9+
}

0 commit comments

Comments
 (0)