Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Карл Шифлет -

XAML - Интерфейс

Все примеры / WPF & Silverlight (WPF/E) / Интерфейс

Реализация пользовательского CheckBox

Автор: Карл Шифлет | добавлено: 06.03.2010, 17:12 | просмотров: 2756 (1+) | комментариев: 0 | рейтинг: *x1
Простой пример реализации пользовательского CheckBox с использованием технологии Windows Presentation Foundation (WPF). В примере показано, как можно отображать надпись слева, либо справа относительно самого CheckBox.

Код

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2006" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  mc:Ignorable="d" 
  xmlns:Microsoft_Windows_Themes=
    "clr-namespace:Microsoft.Windows.Themes;
    assembly=PresentationFramework.Aero">
 
  <!-- SUPER IMPORTANT -->
 
  <!-- Your project MUST reference PresentationFramework.Aero. -->
  
  <!-- SUPER IMPORTANT -->
 
<Style x:Key="checkboxLeftSideText" TargetType="{x:Type CheckBox}">
 <Setter Property="SnapsToDevicePixels" Value="true"/>
 <Setter Property="FocusVisualStyle" 
      Value="{DynamicResource CheckBoxFocusVisual}"/>
 <Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
 <Setter Property="BorderBrush" 
      Value="{DynamicResource NormalBorderBrush}"/>
 <Setter Property="Template">
 <Setter.Value>
  <ControlTemplate TargetType="{x:Type CheckBox}">
 
   <DockPanel 
     HorizontalAlignment="Stretch" 
     VerticalAlignment="Top" 
     Width="Auto" 
     LastChildFill="True">
 
    <Microsoft_Windows_Themes:BulletChrome 
      DockPanel.Dock="Right" 
      Margin="4,0,0,0"
      Background="{TemplateBinding Background}" 
      BorderBrush="{TemplateBinding BorderBrush}" 
      IsChecked="{TemplateBinding IsChecked}" 
      RenderMouseOver="{TemplateBinding IsMouseOver}" 
      RenderPressed="{TemplateBinding IsPressed}" 
      HorizontalAlignment="Stretch" 
      VerticalAlignment="Center" 
      Width="Auto" 
      Height="Auto"/>
      
    <ContentPresenter 
      Content="{TemplateBinding Content}" 
      RecognizesAccessKey="True" 
      Height="Auto" 
      HorizontalAlignment="Left" />
      
   </DockPanel>
  </ControlTemplate>
 </Setter.Value>
 </Setter>
</Style>
</ResourceDictionary>
Файлы CheckboxTextOnLeft.zip (0,84 Кб)
Об авторе

Карл Шифлет

Нет информации об авторе...
Карл Шифлет
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики