Merge remote-tracking branch 'origin/multi-auto' into multi-auto

# Conflicts:
#	demo/Ursa.Demo/Pages/MultiAutoCompleteBoxDemo.axaml
#	demo/Ursa.Demo/ViewModels/MultiAutoCompleteBoxDemoViewModel.cs
#	src/Ursa.Themes.Semi/Controls/MultiAutoCompleteBox.axaml
This commit is contained in:
rabbitism
2025-09-17 01:02:36 +08:00
4 changed files with 10 additions and 11 deletions

View File

@@ -13,7 +13,7 @@
MaxWidth="400" MaxWidth="400"
InnerLeftContent="Controls" InnerLeftContent="Controls"
SelectedItems="{Binding SelectedItems}" SelectedItems="{Binding SelectedItems}"
ItemFilter="{Binding FilterPredicate }" ItemFilter="{Binding FilterPredicate}"
FilterMode="Custom"> FilterMode="Custom">
<u:MultiAutoCompleteBox.ItemTemplate> <u:MultiAutoCompleteBox.ItemTemplate>
<DataTemplate DataType="vm:ControlData"> <DataTemplate DataType="vm:ControlData">
@@ -30,4 +30,4 @@
</u:MultiAutoCompleteBox.SelectedItemTemplate> </u:MultiAutoCompleteBox.SelectedItemTemplate>
</u:MultiAutoCompleteBox> </u:MultiAutoCompleteBox>
</StackPanel> </StackPanel>
</UserControl> </UserControl>

View File

@@ -6,7 +6,7 @@ using CommunityToolkit.Mvvm.ComponentModel;
namespace Ursa.Demo.ViewModels; namespace Ursa.Demo.ViewModels;
public class MultiAutoCompleteBoxDemoViewModel: ObservableObject public class MultiAutoCompleteBoxDemoViewModel : ObservableObject
{ {
public ObservableCollection<ControlData> Items { get; set; } public ObservableCollection<ControlData> Items { get; set; }
public ObservableCollection<ControlData> SelectedItems { get; set; } public ObservableCollection<ControlData> SelectedItems { get; set; }
@@ -37,7 +37,7 @@ public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
new() { MenuHeader = "TagInput", Chinese = "标签输入" }, new() { MenuHeader = "TagInput", Chinese = "标签输入" },
new() { MenuHeader = "Theme Toggler", Chinese = "主题切换" }, new() { MenuHeader = "Theme Toggler", Chinese = "主题切换" },
new() { MenuHeader = "TreeComboBox", Chinese = "树形组合框" }, new() { MenuHeader = "TreeComboBox", Chinese = "树形组合框" },
new() { MenuHeader = "Dialog", Chinese = "对话框" }, new() { MenuHeader = "Dialog", Chinese = "对话框" },
new() { MenuHeader = "Drawer", Chinese = "抽屉" }, new() { MenuHeader = "Drawer", Chinese = "抽屉" },
new() { MenuHeader = "Loading", Chinese = "加载" }, new() { MenuHeader = "Loading", Chinese = "加载" },
@@ -46,7 +46,7 @@ public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
new() { MenuHeader = "PopConfirm", Chinese = "气泡确认" }, new() { MenuHeader = "PopConfirm", Chinese = "气泡确认" },
new() { MenuHeader = "Toast", Chinese = "吐司" }, new() { MenuHeader = "Toast", Chinese = "吐司" },
new() { MenuHeader = "Skeleton", Chinese = "骨架屏" }, new() { MenuHeader = "Skeleton", Chinese = "骨架屏" },
new() { MenuHeader = "Date Picker", Chinese = "日期选择器" }, new() { MenuHeader = "Date Picker", Chinese = "日期选择器" },
new() { MenuHeader = "Date Range Picker", Chinese = "日期范围选择器" }, new() { MenuHeader = "Date Range Picker", Chinese = "日期范围选择器" },
new() { MenuHeader = "Date Time Picker", Chinese = "日期时间选择器" }, new() { MenuHeader = "Date Time Picker", Chinese = "日期时间选择器" },
@@ -54,13 +54,13 @@ public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
new() { MenuHeader = "Time Picker", Chinese = "时间选择器" }, new() { MenuHeader = "Time Picker", Chinese = "时间选择器" },
new() { MenuHeader = "Time Range Picker", Chinese = "时间范围选择器" }, new() { MenuHeader = "Time Range Picker", Chinese = "时间范围选择器" },
new() { MenuHeader = "Clock", Chinese = "时钟" }, new() { MenuHeader = "Clock", Chinese = "时钟" },
new() { MenuHeader = "Anchor", Chinese = "锚点" }, new() { MenuHeader = "Anchor", Chinese = "锚点" },
new() { MenuHeader = "Breadcrumb", Chinese = "面包屑" }, new() { MenuHeader = "Breadcrumb", Chinese = "面包屑" },
new() { MenuHeader = "Nav Menu", Chinese = "导航菜单" }, new() { MenuHeader = "Nav Menu", Chinese = "导航菜单" },
new() { MenuHeader = "Pagination", Chinese = "分页" }, new() { MenuHeader = "Pagination", Chinese = "分页" },
new() { MenuHeader = "ToolBar", Chinese = "工具栏" }, new() { MenuHeader = "ToolBar", Chinese = "工具栏" },
new() { MenuHeader = "AspectRatioLayout", Chinese = "宽高比布局" }, new() { MenuHeader = "AspectRatioLayout", Chinese = "宽高比布局" },
new() { MenuHeader = "Avatar", Chinese = "头像" }, new() { MenuHeader = "Avatar", Chinese = "头像" },
new() { MenuHeader = "Badge", Chinese = "徽章" }, new() { MenuHeader = "Badge", Chinese = "徽章" },

View File

@@ -1,11 +1,10 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" <ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:u="https://irihi.tech/ursa"> xmlns:u="https://irihi.tech/ursa">
<!-- Add Resources Here -->
<ControlTheme x:Key="{x:Type u:MultiAutoCompleteBox}" TargetType="u:MultiAutoCompleteBox"> <ControlTheme x:Key="{x:Type u:MultiAutoCompleteBox}" TargetType="u:MultiAutoCompleteBox">
<Setter Property="MinHeight" Value="{DynamicResource AutoCompleteBoxDefaultHeight}" /> <Setter Property="MinHeight" Value="{DynamicResource AutoCompleteBoxDefaultHeight}" />
<Setter Property="MaxDropDownHeight" Value="{DynamicResource AutoCompleteMaxDropdownHeight}" /> <Setter Property="MaxDropDownHeight" Value="{DynamicResource AutoCompleteMaxDropdownHeight}" />
<Setter Property="CornerRadius" Value="{DynamicResource TextBoxDefaultCornerRadius}"></Setter> <Setter Property="CornerRadius" Value="{DynamicResource TextBoxDefaultCornerRadius}" />
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="u:MultiAutoCompleteBox"> <ControlTemplate TargetType="u:MultiAutoCompleteBox">
<Panel> <Panel>
@@ -85,4 +84,4 @@
</ControlTemplate> </ControlTemplate>
</Setter> </Setter>
</ControlTheme> </ControlTheme>
</ResourceDictionary> </ResourceDictionary>

View File

@@ -63,7 +63,7 @@
</ControlTheme> </ControlTheme>
<ControlTheme x:Key="TagInputTextBoxTheme" TargetType="TextBox"> <ControlTheme x:Key="TagInputTextBoxTheme" TargetType="TextBox">
<Setter Property="Foreground" Value="{DynamicResource TextBoxInnerForeground}" /> <Setter Property="Foreground" Value="{DynamicResource TextBoxForeground}" />
<Setter Property="Background" Value="{DynamicResource TextBoxDefaultBackground}" /> <Setter Property="Background" Value="{DynamicResource TextBoxDefaultBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource TextBoxDefaultBorderBrush}" /> <Setter Property="BorderBrush" Value="{DynamicResource TextBoxDefaultBorderBrush}" />
<Setter Property="SelectionBrush" Value="{DynamicResource TextBoxSelectionBackground}" /> <Setter Property="SelectionBrush" Value="{DynamicResource TextBoxSelectionBackground}" />