<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Transfer4UI.ItemControl">
<ControlTemplate x:Key="MinizeButonTemplate" TargetType="{x:Type local:EmbededButton}">
<Border BorderThickness="1" Background="{TemplateBinding Background}" >
<Grid x:Name="embedButtonGrid" ToolTip="{TemplateBinding ToolTip}" >
<Rectangle Fill="White" Width="10" Height="3" SnapsToDevicePixels="True"></Rectangle>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="embedButtonGrid" Property="Background" Value="Black"/>
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="embedButtonGrid" Property="Background" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Transfer4UI.ItemControl">
<ControlTemplate x:Key="MinizeButonTemplate" TargetType="{x:Type local:EmbededButton}">
<Border BorderThickness="1" Background="{TemplateBinding Background}" >
<Grid x:Name="embedButtonGrid" ToolTip="{TemplateBinding ToolTip}" >
<Rectangle Fill="White" Width="10" Height="3" SnapsToDevicePixels="True"></Rectangle>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="embedButtonGrid" Property="Background" Value="Black"/>
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="embedButtonGrid" Property="Background" Value="white"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="ResizeWindowRadioButtonTemplate" TargetType="{x:Type local:EmbedCheckBox}">
<Border Background="{TemplateBinding Background}" >
<Grid x:Name="ResizeWinGrid" ToolTip="{TemplateBinding ToolTip}">
<Canvas ClipToBounds="True">
<Border Canvas.Left="4" Canvas.Top="1" BorderBrush="White" BorderThickness="1" Width="8" Height="6" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"/>
<Border Background="{TemplateBinding Background}" >
<Grid x:Name="ResizeWinGrid" ToolTip="{TemplateBinding ToolTip}">
<Canvas ClipToBounds="True">
<Border Canvas.Left="4" Canvas.Top="1" BorderBrush="White" BorderThickness="1" Width="8" Height="6" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"/>
<Border Canvas.Left="0" Canvas.Top="4" BorderBrush="White" BorderThickness="1" Width="8" Height="6" Background="{TemplateBinding Background}" SnapsToDevicePixels="True" />
</Canvas>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="Black"/>
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="white"/>
</Trigger>
<Trigger Property="IsChecked" Value="false">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="{Binding Path=Background, ElementName=ResizeWinGrid}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Canvas>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="Black"/>
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="white"/>
</Trigger>
<Trigger Property="IsChecked" Value="false">
<Setter TargetName="ResizeWinGrid" Property="Background" Value="{Binding Path=Background, ElementName=ResizeWinGrid}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style TargetType="{x:Type local:EmbededButton}" BasedOn="{x:Null}">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template" Value="{StaticResource MinizeButonTemplate}" />
</Style>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template" Value="{StaticResource MinizeButonTemplate}" />
</Style>
<Style TargetType="{x:Type local:EmbedCheckBox}" BasedOn="{x:Null}">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template" Value="{StaticResource ResizeWindowRadioButtonTemplate}" />
</Style>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template" Value="{StaticResource ResizeWindowRadioButtonTemplate}" />
</Style>
<Style x:Key="ControlMinButton" TargetType="{x:Type local:EmbededButton}" BasedOn="{StaticResource {x:Type local:EmbededButton}}"/>
<Style x:Key="WinResizeButton" TargetType="{x:Type local:EmbedCheckBox}" BasedOn="{StaticResource {x:Type local:EmbedCheckBox}}"/>
</ResourceDictionary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
namespace Transfer4UI.ItemControl
{
public class EmbededButton:Button
{
static EmbededButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededButton), new FrameworkPropertyMetadata(typeof(EmbededButton)));
}
}
{
public class EmbededButton:Button
{
static EmbededButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededButton), new FrameworkPropertyMetadata(typeof(EmbededButton)));
}
}
public class EmbededRadioButton:RadioButton
{
static EmbededRadioButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededRadioButton), new FrameworkPropertyMetadata(typeof(EmbededRadioButton)));
}
}
{
static EmbededRadioButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbededRadioButton), new FrameworkPropertyMetadata(typeof(EmbededRadioButton)));
}
}
public class EmbedCheckBox:CheckBox
{
static EmbedCheckBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbedCheckBox), new FrameworkPropertyMetadata(typeof(EmbedCheckBox)));
}
}
}
{
static EmbedCheckBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(EmbedCheckBox), new FrameworkPropertyMetadata(typeof(EmbedCheckBox)));
}
}
}