Просто используйте str().lower()
метод, если не высокоэффективный важно - в этом случае пишут что метод сортировки как расширение C.
, "Как записать, Расширение Python" походит на достойное введение..
более интересно, Это руководство сравнивает пользование ctypes библиотекой по сравнению с записью внешнего модуля C (ctype вполне существенно медленнее, чем расширение C).
У меня есть решение :
Это не может быть применено во всех случаях, но этого достаточно!
Уловка состоит в том, чтобы отключите ListView ScrollBars и окружите его ScrollViewer.
...
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" /> <!-- This is needed! -->
...
</Grid.RowDefinitions>
..
<ScrollViewer x:Name="MyScrollViewer" Grid.Row="0" >
<ListView Name="MyListView"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
ScrollViewer.VerticalScrollBarVisibility="Disabled" />
</ScrollViewer>
...
</Grid>
Затем просто, если необходимо, позвоните
MyScrollViewer.ScrollToEnd();
Звучит подозрительно, но даже если это правда, вы всегда можете вызвать ListView .BringIntoView (), чтобы ... отобразить выбранный элемент :).
Я думаю, вам может понадобиться использовать метод:
ListView.ScrollIntoView(ListView.SelectedItem);
if ( !(myListView.Items.IsEmpty) )
{
myListView.ScrollIntoView(myListView.Items[myListView.Items.Count - 1]);
}
Надеюсь, это поможет!