Нет, кортежи типы последовательности точно так же, как строки. Они отсортированы то же путем сравнения каждого элемента в свою очередь:
>>> import random
>>> sorted([(0,0,0,int(random.getrandbits(4))) for x in xrange(10)])
[(0, 0, 0, 0), (0, 0, 0, 4), (0, 0, 0, 5), (0, 0, 0, 7), (0, 0, 0, 8),
(0, 0, 0, 9), (0, 0, 0, 12), (0, 0, 0, 12), (0, 0, 0, 12), (0, 0, 0, 14)]
Эти три обнуляют, только там, чтобы показать, что что-то другое, чем первый элемент должно становиться осмотренным.
Я нашел сообщение в блоге Дэвида Пэдбери от 2008 года, в котором рассказывается об этом и о том, как изменить это из кода. По сути, вы переопределяете свойства метаданных, которые объединяют ваши изменения с существующими значениями.
TextElement.FontFamilyProperty.OverrideMetadata(
typeof(TextElement),
new FrameworkPropertyMetadata(
new FontFamily("Comic Sans MS")));
TextBlock.FontFamilyProperty.OverrideMetadata(
typeof(TextBlock),
new FrameworkPropertyMetadata(
new FontFamily("Comic Sans MS")));
Также есть это сообщение на форуме MSDN , в котором объясняется, как сделать это в XAML двумя способами.
1) Во-первых, вы определяете «глобальный» стиль для класса Control
<Style TargetType="{x:Type Control}">
<Setter Property="FontFamily" Value="Constantia"/>
</Style>
, а затем используете свойство BasedOn
, чтобы применить его к другим элементам управления.
<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel.Resources>
<Style TargetType="{x:Type Control}" x:Key="ControlStyle">
<Setter Property="FontFamily" Value="Constantia"/>
</Style>
<Style TargetType="{x:Type Label}" x:Key="LabelStyle" BasedOn="{StaticResource ControlStyle}">
<Setter Property="FontWeight" Value="Bold" />
</Style>
<Style TargetType="{x:Type Button}" x:Key="ButtonStyle" BasedOn="{StaticResource ControlStyle}">
<Setter Property="Background" Value="Blue"/>
</Style>
</StackPanel.Resources>
<Label Style="{StaticResource LabelStyle}">This is a Label</Label>
<Button Style="{StaticResource ButtonStyle}">This is a Button</Button>
</StackPanel>
2) Вы можете установить системные шрифты :
<FontFamily x:Key="{x:Static SystemFonts.MenuFontFamilyKey}">./#Segoe UI</FontFamily>
<System:Double x:Key="{x:Static SystemFonts.MenuFontSizeKey}">11</System:Double>
<FontWeight x:Key="{x:Static SystemFonts.MenuFontWeightKey}">Normal</FontWeight>
Хотя я бы, наверное, не рекомендовал это.