diff --git a/msbuild-gui/MainWindow.xaml.cs b/msbuild-gui/MainWindow.xaml.cs index 48b8e5d..7888da0 100644 --- a/msbuild-gui/MainWindow.xaml.cs +++ b/msbuild-gui/MainWindow.xaml.cs @@ -367,14 +367,29 @@ private void MenuItem_Click_1(object sender, RoutedEventArgs e) private void SearchTextbox_TextChanged(object sender, TextChangedEventArgs e) { SourceList.Items.Clear(); - foreach (string item in List.sourceList) + + if (string.IsNullOrWhiteSpace(SearchTextbox.Text)) { - //大文字小文字を区別せず検索 - if (item.IndexOf(SearchTextbox.Text, StringComparison.OrdinalIgnoreCase) >= 0) + // テキストボックスが空の場合、全てのアイテムを再表示 + foreach (string item in List.sourceList) { SourceList.Items.Add(item); } } + else + { + // 検索ボックスからテキストを取得し、改行コードで分割する + var searchTerms = SearchTextbox.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + + foreach (string item in List.sourceList) + { + // 任意の検索語がアイテムに含まれているか確認 + if (searchTerms.Any(term => item.IndexOf(term, StringComparison.OrdinalIgnoreCase) >= 0)) + { + SourceList.Items.Add(item); + } + } + } } private void TargetList_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)