<Window x:Class="Resources.WindowResource" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Resources" Height="300" Width="300" > <Window.Resources> <ImageBrush x:Key="TileBrush" TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 32 32" ImageSource="happyface.jpg" Opacity="0.3"></ImageBrush> </Window.Resources> <StackPanel Margin="5"> <Button Background="{StaticResource TileBrush}" Padding="5" FontWeight="Bold" FontSize="14" Margin="5" >A Tiled Button</Button> </StackPanel> </Window>
Windows Presentation Foundation
Use outter resource or inner resource
<Window x:Class="Resources.TwoResources" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Resources" Height="300" Width="300"> <Window.Resources> <ImageBrush x:Key="TileBrush" TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 32 32" ImageSource="c:image.jpg" Opacity="0.3"></ImageBrush> </Window.Resources> <StackPanel Margin="5"> <Button Background="{StaticResource TileBrush}" Padding="5" FontWeight="Bold" FontSize="14" Margin="5" >A Tiled Button</Button> <Button Padding="5" Margin="5" FontWeight="Bold" FontSize="14"> <Button.Resources> <ImageBrush x:Key="TileBrush" TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 10 10" ImageSource="cimage.jpg" Opacity="0.3"></ImageBrush> </Button.Resources> <Button.Background><StaticResource ResourceKey="TileBrush" /></Button.Background> <Button.Content>Another Tiled Button</Button.Content> </Button> </StackPanel> </Window>
Use outter resource or inner resource
<Window x:Class="Resources.TwoResources" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Resources" Height="300" Width="300"> <Window.Resources> <ImageBrush x:Key="TileBrush" TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 32 32" ImageSource="c:image.jpg" Opacity="0.3"></ImageBrush> </Window.Resources> <StackPanel Margin="5"> <Button Background="{StaticResource TileBrush}" Padding="5" FontWeight="Bold" FontSize="14" Margin="5" >A Tiled Button</Button> <Button Padding="5" Margin="5" FontWeight="Bold" FontSize="14"> <Button.Resources> <ImageBrush x:Key="TileBrush" TileMode="Tile" ViewportUnits="Absolute" Viewport="0 0 10 10" ImageSource="cimage.jpg" Opacity="0.3"></ImageBrush> </Button.Resources> <Button.Background><StaticResource ResourceKey="TileBrush" /></Button.Background> <Button.Content>Another Tiled Button</Button.Content> </Button> </StackPanel> </Window>
Set the slider value with RepeatButton
<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF" Height="100" Width="200"> <StackPanel> <Slider Name="slider" Maximum="100" Minimum="0" Value="50" /> <StackPanel Orientation="Horizontal"> <RepeatButton Click="SliderLeft_Click" Content="Click Me" Height="23" Margin="10" Width="70" ToolTip="Click to move slider left" /> <RepeatButton Click="SliderRight_Click" ClickMode="Hover" Content="Touch Me" Height="23" Margin="10" ToolTip="Hover to move slider right" Width="70" /> </StackPanel> </StackPanel> </Window> //File:Window.xaml.cs using System.Windows; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void SliderLeft_Click(object sender, RoutedEventArgs e) { slider.Value -= 1; } private void SliderRight_Click(object sender, RoutedEventArgs e) { slider.Value += 1; } } }
RepeatButtons have their delay properties set to 500 milliseconds and their interval properties set to 100.
<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="RepeatButtons.Pane1"> <StackPanel> <RepeatButton Width="100" DockPanel.Dock="Top" Delay="500" Interval="100" Click="Increase"> Increase </RepeatButton> <TextBlock Name="valueText" Width="100" DockPanel.Dock="Top" TextAlignment="Center" FontSize="16"> 0 </TextBlock> <RepeatButton Width="100" DockPanel.Dock="Top" Delay="500" Interval="100" Click="Decrease"> Decrease </RepeatButton> </StackPanel> </DockPanel> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Data; namespace RepeatButtons { public partial class Pane1 : DockPanel { void Increase(object sender, RoutedEventArgs e) { Int32 Num = Convert.ToInt32(valueText.Text); valueText.Text = ((Num + 1).ToString()); } void Decrease(object sender, RoutedEventArgs e) { Int32 Num = Convert.ToInt32(valueText.Text); valueText.Text = ((Num - 1).ToString()); } } }
Two repeat buttons that increase and decrease a numerical value.
<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="RepeatButtons.Pane1"> <StackPanel> <RepeatButton Width="100" DockPanel.Dock="Top" Delay="500" Interval="100" Click="Increase"> Increase </RepeatButton> <TextBlock Name="valueText" Width="100" DockPanel.Dock="Top" TextAlignment="Center" FontSize="16"> 0 </TextBlock> <RepeatButton Width="100" DockPanel.Dock="Top" Delay="500" Interval="100" Click="Decrease"> Decrease </RepeatButton> </StackPanel> </DockPanel> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Data; namespace RepeatButtons { public partial class Pane1 : DockPanel { void Increase(object sender, RoutedEventArgs e) { Int32 Num = Convert.ToInt32(valueText.Text); valueText.Text = ((Num + 1).ToString()); } void Decrease(object sender, RoutedEventArgs e) { Int32 Num = Convert.ToInt32(valueText.Text); valueText.Text = ((Num - 1).ToString()); } } }
Path with ScaleTransformation
<Window x:Class="Animation.KeySplineAnimation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="KeySplineAnimation" Height="250" Width="600"> <Canvas Margin="10"> <Path Stroke="Blue" StrokeThickness="1" StrokeDashArray="2 1" Canvas.Top="25"> <Path.Data> <PathGeometry> <PathFigure> <BezierSegment Point1="25,0" Point2="50,70" Point3="100,100" /> </PathFigure> </PathGeometry> </Path.Data> <Path.RenderTransform> <ScaleTransform ScaleX="2.5"></ScaleTransform> </Path.RenderTransform> </Path> <Path Stroke="Blue" StrokeThickness="1" StrokeDashArray="2 1" Canvas.Left="250" Canvas.Top="25"> <Path.Data> <PathGeometry> <PathFigure> <BezierSegment Point1="25,80" Point2="20,40" Point3="100,100" /> </PathFigure> </PathGeometry> </Path.Data> <Path.RenderTransform> <ScaleTransform ScaleX="2.5"></ScaleTransform> </Path.RenderTransform> </Path> </Canvas> </Window>