fix: remove MinHeight & fix TagInput Foreground.

This commit is contained in:
Zhang Dian
2025-09-16 19:03:58 +08:00
parent 13008225c0
commit 68cdd4609f
4 changed files with 17 additions and 19 deletions

View File

@@ -8,10 +8,10 @@
x:DataType="vm:MultiAutoCompleteBoxDemoViewModel" x:DataType="vm:MultiAutoCompleteBoxDemoViewModel"
x:Class="Ursa.Demo.Pages.MultiAutoCompleteBoxDemo"> x:Class="Ursa.Demo.Pages.MultiAutoCompleteBoxDemo">
<StackPanel Spacing="20"> <StackPanel Spacing="20">
<TextBlock Text="Multi-AutoCompleteBox"/> <TextBlock Text="Multi-AutoCompleteBox" />
<u:MultiAutoCompleteBox ItemsSource="{Binding Items}" <u:MultiAutoCompleteBox ItemsSource="{Binding Items}"
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">

View File

@@ -1,11 +1,11 @@
using System.Collections.Generic; using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using Avalonia.Controls; using Avalonia.Controls;
using CommunityToolkit.Mvvm.ComponentModel; 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; }
@@ -82,7 +82,7 @@ public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
{ {
if (text is null) return true; if (text is null) return true;
if (data is not ControlData control) return false; if (data is not ControlData control) return false;
return control.MenuHeader.Contains(text )|| control.Chinese.Contains(text); return control.MenuHeader.Contains(text, StringComparison.OrdinalIgnoreCase) || control.Chinese.Contains(text, StringComparison.OrdinalIgnoreCase);
} }
} }

View File

@@ -1,17 +1,15 @@
<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>
<Border <Border
Name="PART_RootBorder" Name="PART_RootBorder"
MinHeight="30"
Padding="{DynamicResource TextBoxContentPadding}" Padding="{DynamicResource TextBoxContentPadding}"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
CornerRadius="{TemplateBinding CornerRadius}" CornerRadius="{TemplateBinding CornerRadius}"
@@ -22,12 +20,12 @@
VerticalAlignment="Center" VerticalAlignment="Center"
RemoveCommand="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Remove}" RemoveCommand="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Remove}"
ItemTemplate="{TemplateBinding SelectedItemTemplate}" ItemTemplate="{TemplateBinding SelectedItemTemplate}"
ItemsSource="{TemplateBinding SelectedItems}" > ItemsSource="{TemplateBinding SelectedItems}">
<u:MultiComboBoxSelectedItemList.ItemsPanel> <u:MultiComboBoxSelectedItemList.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<u:WrapPanelWithTrailingItem> <u:WrapPanelWithTrailingItem>
<u:WrapPanelWithTrailingItem.TrailingItem> <u:WrapPanelWithTrailingItem.TrailingItem>
<TextBox VerticalAlignment="Center" Theme="{DynamicResource TagInputTextBoxTheme}"/> <TextBox VerticalAlignment="Center" Theme="{DynamicResource TagInputTextBoxTheme}" />
</u:WrapPanelWithTrailingItem.TrailingItem> </u:WrapPanelWithTrailingItem.TrailingItem>
</u:WrapPanelWithTrailingItem> </u:WrapPanelWithTrailingItem>
</ItemsPanelTemplate> </ItemsPanelTemplate>

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}" />