diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Service/Data/DataService.cs b/src/Avalonia/HandyControlDemo_Avalonia/Service/Data/DataService.cs index 4ae0b603..9e07b8d7 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/Service/Data/DataService.cs +++ b/src/Avalonia/HandyControlDemo_Avalonia/Service/Data/DataService.cs @@ -12,6 +12,36 @@ namespace HandyControlDemo.Service; public class DataService { + internal List GetDemoDataList() + { + var list = new List(); + for (int i = 1; i <= 20; i++) + { + var dataList = new List(); + for (int j = 0; j < 3; j++) + { + dataList.Add(new DemoDataModel + { + Index = j, IsSelected = j % 2 == 0, Name = $"SubName{j}", Type = (DemoType)j + }); + } + + var model = new DemoDataModel + { + Index = i, + IsSelected = i % 2 == 0, + Name = $"Name{i}", + Type = (DemoType)(i % 6 + 1), + DataList = dataList, + ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{i % 6 + 1}.png", + Remark = new string(i.ToString()[0], 10) + }; + list.Add(model); + } + + return list; + } + internal List GetDemoInfo() { var infoList = new List(); diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml new file mode 100644 index 00000000..4e0bffac --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml.cs new file mode 100644 index 00000000..0414ae92 --- /dev/null +++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Styles/ListBoxDemo.axaml.cs @@ -0,0 +1,9 @@ +namespace HandyControlDemo.UserControl; + +public partial class ListBoxDemo : Avalonia.Controls.UserControl +{ + public ListBoxDemo() + { + InitializeComponent(); + } +} diff --git a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Main/MainViewModel.cs b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Main/MainViewModel.cs index 478af4d4..292080c1 100644 --- a/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Main/MainViewModel.cs +++ b/src/Avalonia/HandyControlDemo_Avalonia/ViewModel/Main/MainViewModel.cs @@ -76,11 +76,20 @@ public class MainViewModel : DemoViewModelBase //load items DemoInfoCollection = []; - foreach (var item in _dataService.GetDemoInfo()) + Dispatcher.UIThread.InvokeAsync(() => { - Dispatcher.UIThread.InvokeAsync(() => DemoInfoCollection.Add(item)); - } - Dispatcher.UIThread.InvokeAsync(() => SwitchDemo(DemoInfoCollection.First().DemoItemList.First())); + DataList = _dataService.GetDemoDataList(); + + foreach (var item in _dataService.GetDemoInfo()) + { + DemoInfoCollection.Add(item); + } + + if (DemoInfoCollection.Any() && DemoInfoCollection.First().DemoItemList.Any()) + { + SwitchDemo(DemoInfoCollection.First().DemoItemList.First()); + } + }); } private void SwitchDemo(DemoItemModel item) diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBox.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBox.axaml index bce89486..178cd805 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBox.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBox.axaml @@ -1,6 +1,58 @@  - + + + + + + + + + + + + + + + + + + + + + + + @@ -11,23 +63,27 @@ + Value="2,2,2,0" /> + + + + + + + + + + + + + diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBoxItem.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBoxItem.axaml deleted file mode 100644 index dcf98b99..00000000 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Styles/ListBoxItem.axaml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml index 48f91229..3fc5f496 100644 --- a/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml +++ b/src/Avalonia/HandyControl_Avalonia/Themes/Theme.axaml @@ -28,7 +28,6 @@ -