From c5f7b9bf5558b5fe608aae637aca07065ae1196d Mon Sep 17 00:00:00 2001 From: Coolkeke <37786276+Coolkeke@users.noreply.github.com> Date: Mon, 18 Dec 2023 20:43:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DTagInputBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整输入框添加的位置,存放在构造器中 --- src/Ursa/Controls/TagInput/TagInput.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Ursa/Controls/TagInput/TagInput.cs b/src/Ursa/Controls/TagInput/TagInput.cs index c888fb5..488fe3d 100644 --- a/src/Ursa/Controls/TagInput/TagInput.cs +++ b/src/Ursa/Controls/TagInput/TagInput.cs @@ -49,8 +49,11 @@ public class TagInput : TemplatedControl public TagInput() { _textBox = new TextBox(); - _textBox.AddHandler(InputElement.KeyDownEvent, OnTextBoxKeyDown, RoutingStrategies.Tunnel); - Items = new AvaloniaList(); + _textBox.AddHandler(KeyDownEvent, OnTextBoxKeyDown, RoutingStrategies.Tunnel); + Items = new AvaloniaList + { + _textBox + }; Tags = new ObservableCollection(); } @@ -123,7 +126,6 @@ public class TagInput : TemplatedControl { base.OnApplyTemplate(e); _itemsControl = e.NameScope.Find(PART_ItemsControl); - Items.Add(_textBox); } private void OnInputThemePropertyChanged(AvaloniaPropertyChangedEventArgs args) @@ -147,10 +149,9 @@ public class TagInput : TemplatedControl { for (int i = 0; i < newTags.Count; i++) { - Items.Add(newTags[i]); + Items.Insert(Items.Count - 1, newTags[i]); } - } - + } if (oldTags is INotifyCollectionChanged inccold) { inccold.CollectionChanged-= OnCollectionChanged;