App.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:rsButton">
<SolidColorBrush x:Key="bg" Color="Blue"/>
<Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource bg}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<EllipseStrokeThickness="4">
<Ellipse.Stroke>
<LinearGradientBrush>
<GradientStopOffset="0"Color="White"/>
<GradientStopOffset="1"Color="Black"/>
</LinearGradientBrush>
</Ellipse.Stroke>
<Ellipse.Fill>
<LinearGradientBrush>
<GradientStopOffset="0"Color="Silver"/>
<GradientStopOffset="1"Color="White"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<ContentPresenterMargin="10"HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
ComDic.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:rsButton">
<SolidColorBrush x:Key="bg" Color="Blue"/>
<Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">
<Setter Property="Background" Value="{StaticResource bg}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<EllipseStrokeThickness="4">
<Ellipse.Stroke>
<LinearGradientBrush>
<GradientStopOffset="0"Color="White"/>
<GradientStopOffset="1"Color="Black"/>
</LinearGradientBrush>
</Ellipse.Stroke>
<Ellipse.Fill>
<LinearGradientBrush>
<GradientStopOffset="0"Color="Silver"/>
<GradientStopOffset="1"Color="White"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<ContentPresenterMargin="10"HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
MainWindow.xaml
<Window x:Class="rsButton.MainWindow"
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/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:rsButton"
mc:Ignorable="d"
Title="MainWindow" Height="350"Width="525">
<DockPanel>
<WrapPanel x:Name="panel"Width="215">
<Button Click="Button_Click">Evan ....</Button>
<Button>A Second Button</Button>
<TextBlock x:Name="_text1">An editable text box</TextBlock>
<CheckBox Content="{BindingElementName=_text1,Path=Text}"/>
<Slider Width="75" Minimum="0" Maximum="100"Value="50"/>
</WrapPanel>
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCameraLookDirection="-.7,-.8,-1" Position="3.8,4,4"FieldOfView="17"UpDirection="0,1,0"/>
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<PointLightPosition="3.8,4,4"Color="White"Range="7"ConstantAttenuation="1.0"/>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3DTextureCoordinates="0,0 1,0 0,-1 1,-1 0,0 1,0 0,-10,0" Positions="0,0,01,0,0 0,1,0 1,1,0 0,1,-1 1,1,-1 1,1,-1 1,0,-1"TriangleIndices="0,1,2 3,2,1 4,2,3 5,4,3 6,3,17,6,1"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<VisualBrushViewport="0,0,.5,.25" TileMode="Tile"Visual="{Binding ElementName=panel}"/>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<GeometryModel3D.Transform>
<RotateTransform3DCenterX=".5"CenterY=".5"CenterZ="-.5">
<RotateTransform3D.Rotation>
<AxisAngleRotation3D x:Name="rotation" Axis="0,1,0"Angle="0"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</GeometryModel3D.Transform>
</GeometryModel3D>
</Model3DGroup>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</DockPanel>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<BeginStoryboard.Storyboard>
<Storyboard>
<DoubleAnimationFrom="-25" To="25" Storyboard.TargetName="rotation" Storyboard.TargetProperty="Angle"
AutoReverse="True" Duration="0:0:2.5"RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard.Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Window.Triggers>
</Window>
效果图如下: