feat: implement inner content interface.
This commit is contained in:
@@ -7,9 +7,11 @@
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:DataType="vm:MultiAutoCompleteBoxDemoViewModel"
|
||||
x:Class="Ursa.Demo.Pages.MultiAutoCompleteBoxDemo">
|
||||
<StackPanel Spacing="20">
|
||||
<StackPanel Spacing="20" HorizontalAlignment="Left">
|
||||
<TextBlock Text="Multi-AutoCompleteBox"/>
|
||||
<u:MultiAutoCompleteBox ItemsSource="{Binding Items}"
|
||||
MaxWidth="400"
|
||||
InnerLeftContent="Controls"
|
||||
SelectedItems="{Binding SelectedItems}"
|
||||
ItemFilter="{Binding FilterPredicate }"
|
||||
FilterMode="Custom">
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using Avalonia.Controls;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
@@ -82,12 +83,13 @@ public class MultiAutoCompleteBoxDemoViewModel: ObservableObject
|
||||
{
|
||||
if (text is null) return true;
|
||||
if (data is not ControlData control) return false;
|
||||
return control.MenuHeader.Contains(text )|| control.Chinese.Contains(text);
|
||||
return control.MenuHeader.Contains(text, StringComparison.InvariantCultureIgnoreCase) ||
|
||||
control.Chinese.Contains(text, StringComparison.InvariantCultureIgnoreCase);
|
||||
}
|
||||
}
|
||||
|
||||
public class ControlData
|
||||
{
|
||||
public string MenuHeader { get; set; }
|
||||
public string Chinese { get; set; }
|
||||
public required string MenuHeader { get; init; }
|
||||
public required string Chinese { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user