Change Fill

image_pdfimage_print


   
   

<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
  mc:Ignorable="d"
  x:Class="PaintDrawExamples.ChangeFill" 
  Width="640" Height="480">

  <StackPanel.Resources>
    <Storyboard x:Key="OnLoaded"/>
  </StackPanel.Resources>

  <StackPanel.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
      <BeginStoryboard x:Name="OnLoaded_BeginStoryboard" Storyboard="{DynamicResource OnLoaded}"/>
    </EventTrigger>
  </StackPanel.Triggers>
  <Path d:LastTangent="0,0" Width="300" Height="82" x:Name="myShape" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Data="M268,209 L134,209 147,249 250,290 z">
    <Path.RenderTransform>
      <TransformGroup>
        <TranslateTransform X="0" Y="0"/>
        <ScaleTransform ScaleX="1" ScaleY="1"/>
        <SkewTransform AngleX="0" AngleY="0"/>
        <RotateTransform Angle="0"/>
        <TranslateTransform X="0" Y="0"/>
      </TransformGroup>
    </Path.RenderTransform>
    <Path.Fill>
      <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
        <GradientStop Color="#11111111" Offset="0"/>
        <GradientStop Color="#FFFFFFFF" Offset="1"/>
      </LinearGradientBrush>
    </Path.Fill>
  </Path>
</StackPanel>
//File:Window.xaml.cs

using System;
using System.IO;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;

namespace PaintDrawExamples
{
  public partial class ChangeFill
  {
    public ChangeFill()
    {
      this.InitializeComponent();
      this.MouseDown += new MouseButtonEventHandler(MouseDownHandler);
    }

    private void MouseDownHandler(object sender, MouseButtonEventArgs e)
    {
      LinearGradientBrush brush = (LinearGradientBrush)this.myShape.Fill;
      brush.GradientStops[0].Color = Color.FromRgb(0,0,0);
    }
  }
}