Мультисимвольные константы:
int x = 'ABCD';
Это устанавливает x
на 0x41424344
(или 0x44434241
, в зависимости от архитектуры).
РЕДАКТИРОВАНИЕ: Эта техника не является портативной, особенно при сериализации интервала Однако, может быть чрезвычайно полезно создать перечисления самодокументирования. например,
enum state {
stopped = 'STOP',
running = 'RUN!',
waiting = 'WAIT',
};
Это делает его намного более простым, если Вы смотрите на необработанный дамп памяти и должны определить значение перечисления, не имея необходимость искать его.
Посмотрите, что сводится к вашему шаблону управления:
<ControlTemplate TargetType="{x:Type Button}">
<Button>
<ContentPresenter/>
</Button>
</ControlTemplate>
Вы говорите: «Я хочу заменить внешний вид моей кнопки на ... кнопку . " ControlTemplate
используется для замены визуального дерева элемента управления. Итак, вы заменяете визуальное дерево существующей кнопки другой кнопкой. Если вы хотите создать кнопку с нуля, попробуйте использовать кнопку SimpleStyles:
<Style TargetType="{x:Type Button}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="MinHeight" Value="23"/>
<Setter Property="MinWidth" Value="75"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="Border" CornerRadius="2" BorderThickness="1"
Background="#C0C0C0"
BorderBrush="#404040">
<ContentPresenter Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter TargetName="Border"
Property="BorderBrush" Value="#202020" />
</Trigger>
<Trigger Property="IsDefaulted" Value="true">
<Setter TargetName="Border"
Property="BorderBrush" Value="#202020" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border"
Property="Background" Value="#808080" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border"
Property="Background" Value="#E0E0E0" />
<Setter TargetName="Border"
Property="BorderBrush" Value="#606060" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border"
Property="Background" Value="#EEEEEE" />
<Setter TargetName="Border"
Property="BorderBrush" Value="#AAAAAA" />
<Setter Property="Foreground" Value="#888888"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Обратите внимание, что этот шаблон создает кнопку самым простым из возможных способов: рамкой, содержащей содержимое кнопки. Он не использует другую кнопку, встроенную в шаблон.