텍스트를 텍스트 상자에 삽입하는 것을 포함하여 Universal Windows App을 만들고 있습니다. 내 애플 리케이션 텍스트 상자에 삽입하는 파일에서 텍스트를 제안 싶습니다. 하지만 그 재산을 찾을 수 없었습니다. XAML 태그를 통해 MainPage.xaml에 텍스트 상자를 추가했습니다. WPF API에는이 작업을위한 속성이 있다고 생각합니다. UWP에서이 작업을 수행 할 수 있는지 확실하지 않습니다.파일에서 C#의 텍스트 상자에 텍스트 제안을 추가 할 수 없습니다.
0
A
답변
4
UWP 용 AutoSuggestBox 컨트롤을 사용하는 것이 좋습니다. 사용자가 텍스트를 입력하기 시작하면 자동 제안 결과 목록이 자동으로 채워집니다. 결과 목록은 텍스트 입력 상자 위나 아래에 나타날 수 있습니다. 여기
<AutoSuggestBox PlaceholderText="Search" QueryIcon="Find" Width="200"
TextChanged="AutoSuggestBox_TextChanged"
QuerySubmitted="AutoSuggestBox_QuerySubmitted"
SuggestionChosen="AutoSuggestBox_SuggestionChosen"/>
private void AutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
{
// Only get results when it was a user typing,
// otherwise assume the value got filled in by TextMemberPath
// or the handler for SuggestionChosen.
if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
{
//Set the ItemsSource to be your filtered dataset
//sender.ItemsSource = dataset;
}
}
private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)
{
// Set sender.Text. You can use args.SelectedItem to build your text string.
}
private void AutoSuggestBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
{
if (args.ChosenSuggestion != null)
{
// User selected an item from the suggestion list, take an action on it here.
}
else
{
// Use args.QueryText to determine what to do.
}
}
는 완전한 UI 기본 샘플에 대한 GitHub의의의 repo에 link입니다.
희망이 도움이됩니다.
1
이것은 UAP에는 적용되지 않지만 WPF에서는 "드롭 다운 제안 목록"을 허용하는 트릭이 있습니다. 텍스트 상자를 콤보 상자로 바꾸고 사용자가 입력 할 때 항목을 채울 수 있습니다. 이것은과 같이 일을 바인딩에 의해 달성 될 수있다 :
Text={ Binding Path=meCurrentValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged }
ItemsSource={Binding Path=meFilteredListOfSuggestions, Mode=TwoWay }
그런 다음 당신의 ViewModel 내에서 간단히 수행 할 수 있습니다
public string meCurrentValue
{
get { return _mecurrentvalue; }
set {
_mecurrentvalue = value;
updateSuggestionsList();
NotifyPropertyChanged("meCurrentValue");
NotifyPropertyChanged("meFilteredListOfSuggestions"); // notify that the list was updated
ComboBox.Open(); // use to open the combobox list
}
public List<string> meFilteredListOfSuggestions
{
get{return SuggestionsList.Select(e => e.text.StartsWith(_mecurrentvalue));}
}
편집 : TRUE로 콤보 상자의 편집 가능한 값을 설정하는 것을 잊지 마십시오,이 방법을 일반 텍스트 상자처럼 작동합니다.
관련 문제
- 1. 텍스트 상자에 텍스트 추가
- 2. C의 텍스트 파일에서 읽기
- 3. 텍스트 상자에 텍스트 헤더 추가
- 4. Hashtable은 Objective-C의 텍스트 파일에서 데이터에 액세스 할 수 있습니까?
- 5. 텍스트 상자에 오류 텍스트 추가
- 6. 텍스트 상자에 점을 입력 할 수 없습니다.
- 7. 텍스트 상자에 로그를 표시 할 수 없습니다.
- 8. 텍스트 상자에 AJAX 확장을 추가 할 수 없습니다.
- 9. 목록 상자에 텍스트 상자를 추가 할 수 없습니다.
- 10. C의 텍스트 파일에 추가
- 11. 텍스트 상자에 그림자 추가
- 12. objective-c의 텍스트 파일에서 읽기
- 13. 텍스트 상자에 숫자 추가
- 14. jquery : 문서로드시 텍스트 상자에 추가
- 15. 텍스트 파일에서 php의 텍스트 상자에 줄을 추가하십시오.
- 16. 텍스트 상자에 매크로 추가
- 17. 커서 위치에 따라 텍스트 상자에 텍스트 추가
- 18. 어떻게 텍스트 상자에 거대한 문자열을 효율적으로 추가 할 수 있습니까?
- 19. WinRT에서 텍스트 제안을 비활성화하는 방법?
- 20. 여러 텍스트 상자에 속성 추가
- 21. 텍스트 상자에 영구 접두사 추가
- 22. 파생 된 텍스트 상자의 "텍스트 속성"을 다른 텍스트 상자에 바인딩 할 수 없습니다.
- 23. 동영상을 텍스트 위젯에 추가 할 수 없습니다.
- 24. X 텍스트. HyperlinkHelper를 추가 할 수 없습니다.
- 25. cocos2d에 텍스트 필드를 추가 할 수 없습니다.
- 26. 텍스트 필드에 스크롤바를 추가 할 수 없습니다.
- 27. 텍스트 상자에 종속성 속성 추가
- 28. objective-C의 텍스트 파일에서 한 줄을 읽습니다.
- 29. CGridView의 텍스트 상자에 클래스 추가
- 30. C의 텍스트 파일에서 단어 단위로 단어 읽기
[AutoSuggestBox] (https://msdn.microsoft.com/en-us/library/windows/apps/mt280217.aspx)와 같은'TextBox' 동작을 만들고 싶습니까? –
@ GraceFeng-MSFT 나는 AutoSuggestBox를 알지 못했다. 그래서, 나는 TextSbox를 AutoSuggestBox처럼 행동하게 만들 생각을했습니다. –