прокрутите список, соответствующий нажатой клавише, в раскрывающемся списке. - PullRequest
0 голосов
/ 21 октября 2019

Я занимаюсь разработкой приложения UWP, и у меня есть раскрывающийся список со списком названий стран, флагов и кодов стран. Когда я нажимаю на раскрывающийся список, открывается список стран. Но если я нажимаю и нажимаю любую букву (например, I), она не прокручивается в список автоматически, где список начинается с I.

Я попытался добавить свойство IsTextSearchEnabled в раскрывающийся список, но я не получаюжелаемый результат. Кто-нибудь может подсказать мне, что здесь нужно сделать?

<ComboBox  x:Name="CmbCountrylist" Height="auto" IsEditable="True" 
IsTextSearchEnabled="True" Width="250" Margin="0,0,1,0" Background="red" 
PlaceholderText="Select Country" 
SelectionChanged="CmbCountryCodes1_SelectionChanged" 
HorizontalAlignment="Left" VerticalAlignment="Center">
<ComboBox.ItemTemplate>
<DataTemplate>


<StackPanel Orientation="Horizontal" ToolTipService.ToolTip="{Binding name}" >

<Image x:Name="ImgFlag" Width="16"  Height="16" Margin="0,2,5,2" VerticalAlignment="Center" HorizontalAlignment="Left" Source="{Binding ImagePath}" />

<TextBlock x:Name="txtCountryName" Text="{Binding name}" />
<TextBlock x:Name="txtCode" Text="{Binding dial_code}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>          
<ComboBox.ItemsPanel>         
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>                                
</ComboBox.ItemsPanel>  

</ComboBox>                      

1 Ответ

1 голос
/ 21 октября 2019

Из вашего описания, источником данных, привязкой которого является класс. В этом случае, пожалуйста, переопределите метод класса ToString() для возврата названия страны.

public class Country
{
   // other properties

   public override string ToString()
   {
       return name;
   }
}

Когда вы вводите текст в ComboBox, ComboBox будет соответствовать данным в списке данных,но ComboBox не будет активно искать свойство класса, а вместо этого ищет значение метода ToString().

С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...