asked on
ASKER
<Window x:Class="SliderScaleCanvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ResizeMode="CanResize" SizeChanged="mainWindow_SizeChanged"
Title="MainWindow" Height="600" Width="700" VerticalAlignment="Top" HorizontalAlignment="Left">
<Window.Resources>
<VisualBrush x:Key="DotFillBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
<Border BorderBrush="Black" BorderThickness="2" CornerRadius="0" Padding="5">
<Grid Name="MainGrid" Background="lightyellow" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Canvas x:Name="mainCanvas" Background="LightYellow" Margin="10" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
<Label Content="Canvas Size:" Height="28" Name="label1" />
<Label Content="" Height="28" Name="lblWindowSize" Canvas.Left="70" Width="60" />
<Label Content="px" Height="28" Name="lblPixels" Canvas.Left="120" Width="25" />
</Canvas>
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" x:Name="sldSlider" VerticalAlignment="Bottom" Grid.Row="0" Grid.Column="0" Grid.RowSpan="2"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="10" Maximum="100" ValueChanged="Slider_ValueChanged" Height="29" />
<StackPanel x:Name="LayoutRoot" Background="LightGreen" Width="200" Grid.Row="1" Grid.Column="1">
<StackPanel Name="stpSliderPosition" Orientation="Horizontal" Width="100">
<TextBlock Margin="5,5,10,5">Slider</TextBlock>
<TextBlock Margin="5,5,0,5" TextAlignment="Left" Width="30" Text="{Binding Path=Value, ElementName=sldSlider, Mode=OneWay}" />
<TextBlock Margin="0,5">%</TextBlock>
</StackPanel>
</StackPanel>
</Grid>
</Border>
</Window>
Code Behind -----------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Research.DynamicDataDisplay;
namespace SliderScaleCanvas
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private Polygon Pol1;
ImageBrush Pol1PatternBrush = new ImageBrush();
List<Point> listPointsLine1 = new List<Point>(new Point[] { new Point(100,100) , new Point(200,150) , new Point(300,250), new Point( 400,200), new Point( 500,100), new Point( 600,150), new Point( 700,250), new Point( 800,200), new Point( 900,250), new Point( 1000,300) });
List<Point> listPointsLine2 = new List<Point>(new Point[] { new Point( 100,150), new Point( 200,200), new Point( 300,300), new Point( 400,250), new Point( 500,150), new Point( 600,200), new Point( 700,300), new Point( 800,250), new Point( 900,300), new Point( 1000,350)});
public MainWindow()
{
InitializeComponent();
//mainCanvas.Width = Convert.ToInt32(MainWindow.ActualWidthProperty.ToString()) - 20;
//mainCanvas.Height = Convert.ToInt32(MainWindow.ActualHeightProperty.ToString()) - 20;
//////this.SizeChanged += new SizeChangedEventHandler(MainWindow_SizeChanged);
//////this.mainCanvas.SizeChanged += new SizeChangedEventHandler(mainCanvas_SizeChanged);
Pol1 = new Polygon();
Pol1PatternBrush.TileMode = TileMode.Tile;
Pol1PatternBrush.Stretch = Stretch.None;
Pol1PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol1PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol1PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\GasPattern.jpg", UriKind.Relative));
Pol1.Fill = Pol1PatternBrush;
Pol1.Points = new PointCollection();
//mainCanvas.Children.Add(Pol1);
Pol1.Fill = Pol1PatternBrush;
mainCanvas.Children.Add(Pol1);
}
void mainWindow_SizeChanged(object sender, SizeChangedEventArgs e)
{
lblWindowSize.Content = e.NewSize.ToString();
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double value = e.NewValue;
Pol1.Points.Clear();
if (value == 0)
{
}
if (value == 10)
{
// Test isert 2 new items in the middle of the List<Pooint>
//listPointsLine1.Insert(1, new Point(200, 150));
//listPointsLine1.Insert(2, new Point(200, 200));
////PointCollection myPointCollection1 = Pol1.Points;
//// Test isert 2 new items in the middle of the List<Pooint>
// for (int i = 0; i < listPointsLine1.Count; i++)
//{
// ////myPointCollection1.Add(listPointsLine1[i]);
// Pol1.Points.Add(listPointsLine1[i]);
//}
//---------------------------------------------------------------
// Draw inital polygon
Pol1.Points.Add(listPointsLine1[0]);
Pol1.Points.Add(listPointsLine1[1]);
Pol1.Points.Add(listPointsLine2[1]);
Pol1.Points.Add(listPointsLine2[0]);
var result = (from val in listPointsLine1
where val.X <= 200
select val).ToList();
Pol1.Points.Count.ToString();
}
}
}
}
ASKER
/// <summary>
/// Provides common functionality for ViewModel classes
/// </summary>
///
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
MainWindow XAML:
<Window x:Class="SliderScaleCanvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ResizeMode="CanResize"
xmlns:local="clr-namespace:SliderScaleCanvas"
Title="MainWindow" Height="600" Width="700" VerticalAlignment="Top" HorizontalAlignment="Left" x:Name="mainWindow">
<Window.Resources>
<local:PointsCollectionConverter x:Key="pointsCollectionConverter" />
<VisualBrush x:Key="DotFillBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
<Window.DataContext>
<local:MainViewModel />
</Window.DataContext>
<Border BorderBrush="Black" BorderThickness="2" CornerRadius="0" Padding="5">
<Grid Name="MainGrid" Background="lightyellow" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Canvas x:Name="mainCanvas" Background="LightYellow" Margin="10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Canvas Size: " Name="label1" />
<TextBlock Name="lblWindowSize">
<Run Text="{Binding ElementName=mainWindow, Path=ActualWidth, Mode=OneWay}" />
<Run Text=","/>
<Run Text="{Binding ElementName=mainWindow, Path=ActualHeight, Mode=OneWay}"/>
</TextBlock>
<TextBlock Text=" px" Name="lblPixels" />
</StackPanel>
<Polygon Points="{Binding PolygonPoints, Converter={StaticResource pointsCollectionConverter}}">
<Polygon.Fill>
<ImageBrush TileMode="Tile" Viewport="0, 0, 20, 20" Stretch="None" ViewportUnits="Absolute" ImageSource="/SliderScaleCanvas;component/Images/GasPattern.jpg" />
</Polygon.Fill>
</Polygon>
</Canvas>
<StackPanel Orientation="Horizontal" Grid.Row="1">
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" x:Name="sldSlider" VerticalAlignment="Bottom"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="10" Maximum="100" Height="29" Value="{Binding RegionWidthPercentage}"/>
<StackPanel x:Name="LayoutRoot" Background="LightGreen" Width="200">
<StackPanel Name="stpSliderPosition" Orientation="Horizontal" Width="100">
<TextBlock Margin="5,5,10,5">Slider</TextBlock>
<TextBlock Margin="5,5,0,5" TextAlignment="Left" Width="30" Text="{Binding Path=Value, ElementName=sldSlider, Mode=OneWay}" />
<TextBlock Margin="0,5">%</TextBlock>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
</Border>
</Window>
-------------------------------------------------------------------------------------------------------------------------
MainWindow.cs Code (No Code!!!!):
using System.Windows;
namespace SliderScaleCanvas
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
---------------------------------------------------------------------------------
ViewModelBase.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace SliderScaleCanvas
{
/// <summary>
/// Provides common functionality for ViewModel classes
/// </summary>
///
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
----------------------------------------------------------------------------------------------------
MainViewModel.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Windows;
namespace SliderScaleCanvas
{
public class MainViewModel : ViewModelBase
{
private int _regionWidthPercentage = 0;
private List<Point> points = new List<Point>();
List<Point> listPointsLine1 = new List<Point>(new Point[] { new Point(100, 100), new Point(200, 150), new Point(300, 250), new Point(400, 200), new Point(500, 100), new Point(600, 150), new Point(700, 250), new Point(800, 200), new Point(900, 250), new Point(1000, 300) });
List<Point> listPointsLine2 = new List<Point>(new Point[] { new Point(100, 150), new Point(200, 200), new Point(300, 300), new Point(400, 250), new Point(500, 150), new Point(600, 200), new Point(700, 300), new Point(800, 250), new Point(900, 300), new Point(1000, 350) });
public MainViewModel()
{
}
public int RegionWidthPercentage
{
get
{
return _regionWidthPercentage;
}
set
{
_regionWidthPercentage = value;
OnPropertyChanged("RegionWidthPercentage");
setPoints();
}
}
private void setPoints()
{
points.Clear();
var inBoundsPoitns = from val in listPointsLine1
where val.X <= 10 * RegionWidthPercentage
orderby val.X ascending
select val;
points.AddRange(inBoundsPoitns);
inBoundsPoitns = from val in listPointsLine2
where val.X <= 10 * RegionWidthPercentage
orderby val.X descending
select val;
points.AddRange(inBoundsPoitns);
OnPropertyChanged("PolygonPoints");
}
public ReadOnlyCollection<Point> PolygonPoints
{
get
{
return new ReadOnlyCollection<Point>(points);
}
set
{
points = new List<Point>(value);
OnPropertyChanged("PolygonPoints");
}
}
}
}
---------------------------------------------------------------------------------------------
PointsCollectionConverter.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows;
namespace SliderScaleCanvas
{
public class PointsCollectionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
IEnumerable<Point> enumerable = value as IEnumerable<Point>;
PointCollection points = null;
if (enumerable != null)
{
points = new PointCollection(enumerable);
}
return points;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException("ConvertBack should never be called");
}
}
}
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
<Window x:Class="SquigglyLines.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Squiggly Lines Demo" Height="720" Width="960"
WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterScreen"
Background="Transparent" ResizeMode="CanMinimize">
<Window.Resources>
<LinearGradientBrush x:Key="WindowFrameBrush" StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Color="CadetBlue" Offset="0.4"/>
<GradientStop Color="Gray" Offset="1"/>
</LinearGradientBrush>
<VisualBrush x:Key="DotFillBrush"
TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute"
Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
<Border Background="#50FFFFFF" CornerRadius="5" BorderBrush="{StaticResource WindowFrameBrush}" BorderThickness="2,0,2,2">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="{StaticResource WindowFrameBrush}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
CornerRadius="5,5,0,0" Margin="-1,0,-1,0" MouseLeftButtonDown="DragWindow">
<Grid>
<TextBlock Foreground="White" FontWeight="Bold" VerticalAlignment="Center" Margin="10,2,10,2"
Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Title}"/>
<!--<Button Content="O" Name="MinMax" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,25,0" FontSize="7"
Width="15" Height="15" Click="WindowMinMax" />-->
<Button Content="X" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" FontSize="7"
Width="15" Height="15" Padding="0" Command="ApplicationCommands.Close"/>
</Grid>
</Border>
<!-- Begin Main Content-->
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0, 35,0,0" >
<Canvas x:Name="mainCanvas" Background="Transparent" Height="670" Width="920" VerticalAlignment="Top" Margin="0,0,0,200">
<Canvas.LayoutTransform>
<ScaleTransform ScaleX="{Binding Path=Value, ElementName=zoomSlider}"
ScaleY="{Binding Path=Value, ElementName=zoomSlider}"/>
</Canvas.LayoutTransform>
<!-- Begin Test Pattern Brushes
<Rectangle Canvas.Top="20" Canvas.Left="20" Width="80" Height="40" Fill="{StaticResource DotFillBrush}"/>
<Rectangle Canvas.Top="20" Canvas.Left="120" Width="80" Height="40" Fill="{StaticResource HatchBrush}"/>
<TextBlock Canvas.Top="80" Canvas.Left="20" Text="Hello" FontSize="80" Foreground="{StaticResource DotFillBrush}"/>
<TextBlock Canvas.Top="80" Canvas.Left="220" Text="World" FontSize="80" Foreground="{StaticResource HatchBrush}"/>
End Test Pattern Brushes -->
<!-- Polygon Name="Blue" Points=" 100, 100 200, 150 300, 250 400, 200 500, 100 600, 150 700, 250 800, 200 900, 250 1000, 300
1000, 350 900, 300 800, 250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 ">
<Polygon.Fill>
<SolidColorBrush Color="Blue"/>
</Polygon.Fill>
</Polygon -->
<!--<Polygon Name="Green"
Points="1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 ">
<Polygon.Fill>
<SolidColorBrush Color="Green"/>
</Polygon.Fill>
</Polygon>-->
<!--<Polygon Name="Brown" Points="100, 300 200, 350 300, 450 400, 400
500, 300 600, 350 700, 450 800, 400
900, 450 1000, 500 1000, 750 900, 700
800, 650 700, 700 600, 600 500, 550
400, 650 300, 700 200, 600 100, 550">
<Polygon.Fill>
<SolidColorBrush Color="Brown"/>
</Polygon.Fill>
</Polygon>-->
<!-- Begin Canvas Border -->
<Line Stroke="Gray" StrokeThickness="2" Canvas.Bottom="0" Y1="670"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Bottom="0" X1="920"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Right="0" Y1="670"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Right="0" X1="920"></Line>
<!-- End Canvas Border -->
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" Canvas.Bottom="0"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="1" Maximum="9" ValueChanged="Slider_ValueChanged" Height="29" />
</Canvas>
</Grid>
<!-- End Main Content -->
</Grid>
</Border>
</Window>
-----------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SquigglyLines
{
/// <summary>
/// Interaction logic for Page1.xaml
/// </summary>
public partial class Window1 : Window
{
private Polygon Pol1;
private Polygon Pol2;
private Polygon Pol3;
ImageBrush Pol1PatternBrush = new ImageBrush();
ImageBrush Pol2PatternBrush = new ImageBrush();
ImageBrush Pol3PatternBrush = new ImageBrush();
public Window1()
{
InitializeComponent();
this.Topmost = true;
CommandBindings.Add(new CommandBinding(ApplicationCommands.Close,
new ExecutedRoutedEventHandler(delegate(object sender, ExecutedRoutedEventArgs args) { this.Close(); })));
// Done in XAML
//WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
InitializeComponent();
Pol1 = new Polygon();
Pol2 = new Polygon();
Pol3 = new Polygon();
Pol1PatternBrush.TileMode = TileMode.Tile;
Pol1PatternBrush.Stretch = Stretch.None;
Pol1PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol1PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol1PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\GasPattern.jpg", UriKind.Relative));
Pol1.Fill = Pol1PatternBrush;
Pol2PatternBrush.TileMode = TileMode.Tile;
Pol2PatternBrush.Stretch = Stretch.None;
Pol2PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol2PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol2PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\SandStonePattern.jpg", UriKind.Relative));
Pol2.Fill = Pol2PatternBrush;
Pol3PatternBrush.TileMode = TileMode.Tile;
Pol3PatternBrush.Stretch = Stretch.None;
Pol3PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol3PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol3PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\OilPattern.jpg", UriKind.Relative));
Pol3.Fill = Pol3PatternBrush;
//Viewport="0,0,300,300"
//ViewportUnits="Absolute"
//TileMode="Tile"
//Stretch="None"
//AlignmentX="Left"
//AlignmentY="Top" />
Pol1.Opacity = 0.7;
Pol2.Opacity = 0.7;
Pol3.Opacity = 0.7;
Pol1.Points = new PointCollection();
Pol2.Points = new PointCollection();
Pol3.Points = new PointCollection();
mainCanvas.Children.Add(Pol1);
mainCanvas.Children.Add(Pol2);
mainCanvas.Children.Add(Pol3);
// Move all polygons up & left
TranslateTransform translateTransform1 = new TranslateTransform(-300, -100);
Pol1.RenderTransform = translateTransform1;
Pol2.RenderTransform = translateTransform1;
Pol3.RenderTransform = translateTransform1;
// Make all polygons smaller
ScaleTransform scaleTransform1 = new ScaleTransform(0.8, 0.8);
Pol1.RenderTransform = scaleTransform1;
Pol2.RenderTransform = scaleTransform1;
Pol3.RenderTransform = scaleTransform1;
}
public void DragWindow(object sender, MouseButtonEventArgs args)
{
DragMove();
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double value = e.NewValue;
Pol1.Points.Clear();
Pol2.Points.Clear();
Pol3.Points.Clear();
if (value == 0)
{
}
if (value == 1)
{
// BLUE
//p.Points = new PointCollection() { new Point(100, 100), new Point(200, 150), new Point(300, 250), new Point(400, 200),
//new Point(500, 100), new Point(600, 150), new Point(700, 250), new Point(800, 200),
//new Point(900, 250), new Point(1000, 300), new Point(1000, 350), new Point(900, 300),
//new Point(800, 250), new Point(700, 300), new Point(600, 200), new Point(500, 150),
//new Point(400, 250), new Point(300, 300), new Point(200, 200), new Point(100, 150) };
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_4 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_4 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
// BROWN
//p2.Points = new PointCollection() { new Point(100, 300), new Point(200, 350), new Point(300, 450), new Point(400, 400),
// new Point(500, 300), new Point(600, 350), new Point(700, 450), new Point(800, 400),
// new Point(900, 450), new Point(1000, 500), new Point(1000, 750), new Point(900, 700),
// new Point(800, 650), new Point(700, 700), new Point(600, 600), new Point(500, 550),
// new Point(400, 650), new Point(300, 700), new Point(200, 600), new Point(100, 550) };
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_4 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
}
if (value == 2)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_5 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_6 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_5 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_6 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_5 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_6 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
}
if (value == 3)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_6 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_7 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_8 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_6 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_7 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_8 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_6 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_7 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_8 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
}
if (value == 4)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_9 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_10 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_7 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_8 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_9 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_10 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_7 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_8 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_9 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_10 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
}
if (value == 5)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_8 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_9 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_12 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_8 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_9 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_10 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_12 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_8 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_9 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_10 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_12 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
}
if (value == 6)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_9 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_10 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_11 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_12 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_14 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_9 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_10 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_11 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_12 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_14 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_9 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_10 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_11 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_12 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_14 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
}
if (value == 7)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_12 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_13 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_14 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_15 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_16 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_10 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_12 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_13 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_14 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_15 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_16 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_10 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_12 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_13 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_14 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_15 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_16 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
}
if (value == 8)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(900, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(900, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_12 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_14 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_15 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_16 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_17 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_18 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
myPointCollection1.Add(Point1_17);
myPointCollection1.Add(Point1_18);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(900, 300);
System.Windows.Point Point2_10 = new System.Windows.Point(900, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_12 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_14 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_15 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_16 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_17 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_18 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
myPointCollection2.Add(Point2_17);
myPointCollection2.Add(Point2_18);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(900, 450);
System.Windows.Point Point3_10 = new System.Windows.Point(900, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_12 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_14 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_15 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_16 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_17 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_18 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
myPointCollection3.Add(Point3_17);
myPointCollection3.Add(Point3_18);
}
if (value == 9)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(900, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(1000, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(1000, 350);
System.Windows.Point Point1_12 = new System.Windows.Point(900, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_14 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_15 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_16 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_17 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_18 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_19 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_20 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
myPointCollection1.Add(Point1_17);
myPointCollection1.Add(Point1_18);
myPointCollection1.Add(Point1_19);
myPointCollection1.Add(Point1_20);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(900, 300);
System.Windows.Point Point2_10 = new System.Windows.Point(1000, 350);
System.Windows.Point Point2_11 = new System.Windows.Point(1000, 500);
System.Windows.Point Point2_12 = new System.Windows.Point(900, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_14 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_15 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_16 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_17 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_18 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_19 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_20 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
myPointCollection2.Add(Point2_17);
myPointCollection2.Add(Point2_18);
myPointCollection2.Add(Point2_19);
myPointCollection2.Add(Point2_20);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(900, 450);
System.Windows.Point Point3_10 = new System.Windows.Point(1000, 500);
System.Windows.Point Point3_11 = new System.Windows.Point(1000, 750);
System.Windows.Point Point3_12 = new System.Windows.Point(900, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_14 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_15 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_16 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_17 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_18 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_19 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_20 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
myPointCollection3.Add(Point3_17);
myPointCollection3.Add(Point3_18);
myPointCollection3.Add(Point3_19);
myPointCollection3.Add(Point3_20);
}
}
}
}
ASKER
// Move all polygons up & left
TranslateTransform translateTransform1 = new TranslateTransform(-300, -100);
Pol1.RenderTransform = translateTransform1;
Pol2.RenderTransform = translateTransform1;
Pol3.RenderTransform = translateTransform1;
// Make all polygons smaller
ScaleTransform scaleTransform1 = new ScaleTransform(0.8, 0.8);
Pol1.RenderTransform = scaleTransform1;
Pol2.RenderTransform = scaleTransform1;
Pol3.RenderTransform = scaleTransform1;
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
ASKER
MainWindow.XAML (based on the xaml I got from the author):
<Window x:Class="SliderScaleCanvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ResizeMode="CanResize"
xmlns:local="clr-namespace:SliderScaleCanvas"
Title="MainWindow" Height="600" Width="700" VerticalAlignment="Top" HorizontalAlignment="Left" x:Name="mainWindow">
<Window.Resources>
<local:PointsCollectionConverter x:Key="pointsCollectionConverter" />
<VisualBrush x:Key="DotFillBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<DataTemplate DataType="{x:Type local:PolygonViewModel}">
<Polygon Points="{Binding PolygonPoints, Converter={StaticResource pointsCollectionConverter}}">
<Polygon.Fill>
<ImageBrush TileMode="Tile" Viewport="0, 0, 20, 20" Stretch="None" ViewportUnits="Absolute" ImageSource="{Binding FillImagePath}" />
</Polygon.Fill>
</Polygon>
</DataTemplate>
</Window.Resources>
<Window.DataContext>
<local:MainViewModel />
</Window.DataContext>
<Border BorderBrush="Black" BorderThickness="2" CornerRadius="0" Padding="5">
<Grid Name="MainGrid" Background="lightyellow" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Canvas x:Name="mainCanvas" Background="LightYellow" Margin="10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Canvas Size: " Name="label1" />
<TextBlock Name="lblWindowSize">
<Run Text="{Binding ElementName=mainWindow, Path=ActualWidth, Mode=OneWay}" />
<Run Text=","/>
<Run Text="{Binding ElementName=mainWindow, Path=ActualHeight, Mode=OneWay}"/>
</TextBlock>
<TextBlock Text=" px" Name="lblPixels" />
</StackPanel>
<ItemsControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Polygons}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Canvas>
<StackPanel Orientation="Horizontal" Grid.Row="1">
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" x:Name="sldSlider" VerticalAlignment="Bottom"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="10" Maximum="100" Height="29" Value="{Binding RegionWidthPercentage}"/>
<StackPanel x:Name="LayoutRoot" Background="LightGreen" Width="200">
<StackPanel Name="stpSliderPosition" Orientation="Horizontal" Width="100">
<TextBlock Margin="5,5,10,5">Slider</TextBlock>
<TextBlock Margin="5,5,0,5" TextAlignment="Left" Width="30" Text="{Binding Path=Value, ElementName=sldSlider, Mode=OneWay}" />
<TextBlock Margin="0,5">%</TextBlock>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
</Border>
</Window>
---------------------------------------------------------------------------------
PolygonViewModel.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Collections.ObjectModel;
namespace SliderScaleCanvas
{
public class PolygonViewModel : ViewModelBase
{
private List<Point> points = new List<Point>();
private List<Point> _listPointsLine1;
private List<Point> _listPointsLine2;
private string _fillImagePath;
public PolygonViewModel(List<Point> listPointsLine1, List<Point> listPointsLine2, string fillImagePath)
{
_listPointsLine1 = listPointsLine1;
_listPointsLine2 = listPointsLine2;
_fillImagePath = fillImagePath;
}
public ReadOnlyCollection<Point> PolygonPoints
{
get
{
return new ReadOnlyCollection<Point>(points);
}
set
{
points = new List<Point>(value);
OnPropertyChanged("PolygonPoints");
}
}
public string FillImagePath
{
get
{
return _fillImagePath;
}
}
internal void SetPoints(int regionWidthPercentage)
{
points.Clear();
var inBoundsPoitns = from val in _listPointsLine1
where val.X <= 10 * regionWidthPercentage
orderby val.X ascending
select val;
points.AddRange(inBoundsPoitns);
inBoundsPoitns = from val in _listPointsLine2
where val.X <= 10 * regionWidthPercentage
orderby val.X descending
select val;
points.AddRange(inBoundsPoitns);
OnPropertyChanged("PolygonPoints");
}
}
}
------------------------------------------------------------------------------
MainViewModel.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Windows;
namespace SliderScaleCanvas
{
public class MainViewModel : ViewModelBase
{
private int _regionWidthPercentage = 0;
private ObservableCollection<PolygonViewModel> _polygons = new ObservableCollection<PolygonViewModel>();
public MainViewModel()
{
createPolygonsFromDB();
}
public int RegionWidthPercentage
{
get
{
return _regionWidthPercentage;
}
set
{
_regionWidthPercentage = value;
OnPropertyChanged("RegionWidthPercentage");
foreach (PolygonViewModel polygonViewModel in Polygons)
{
polygonViewModel.SetPoints(RegionWidthPercentage);
}
}
}
public ObservableCollection<PolygonViewModel> Polygons
{
get
{
return _polygons;
}
}
private void createPolygonsFromDB()
{
List<List<Point>> pointsFroDB = DbConnectionSimulation.GetPointsFromDB();
if (pointsFroDB.Count >= 2)
{
List<Point> previosLines = pointsFroDB[0];
for (int i = 1; i < pointsFroDB.Count; i++)
{
PolygonViewModel polygon = new PolygonViewModel(previosLines, pointsFroDB[i], getFillImagePathByIndex(i - 1));
previosLines = pointsFroDB[i];
Polygons.Add(polygon);
}
}
}
private string getFillImagePathByIndex(int index)
{
switch (index)
{
case 0:
return "/SliderScaleCanvas;component/Images/GasPattern.jpg";
case 1:
return "/SliderScaleCanvas;component/Images/BluePattern.jpg";
case 2:
return "/SliderScaleCanvas;component/Images/GreenPattern.jpg";
default:
return "/SliderScaleCanvas;component/Images/GasPattern.jpg";
}
}
}
}
--------------------------------------------------------------------------------------------------
DbConnectionSimulator (just to simulate a data that we got from somewhere.... )
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
namespace SliderScaleCanvas
{
public static class DbConnectionSimulation
{
private static List<Point> listPointsLine1 = new List<Point>(new Point[] { new Point(100, 100), new Point(200, 150), new Point(300, 250), new Point(400, 200), new Point(500, 100), new Point(600, 150), new Point(700, 250), new Point(800, 200), new Point(900, 250), new Point(1000, 300) });
private static List<Point> listPointsLine2 = new List<Point>(new Point[] { new Point(100, 150), new Point(200, 200), new Point(300, 300), new Point(400, 250), new Point(500, 150), new Point(600, 200), new Point(700, 300), new Point(800, 250), new Point(900, 300), new Point(1000, 350) });
private static List<Point> listPointsLine3 = new List<Point>(new Point[] { new Point(100, 300), new Point(200, 350), new Point(300, 450), new Point(400, 400), new Point(500, 300), new Point(600, 350), new Point(700, 450), new Point(800, 400), new Point(900, 450), new Point(1000, 500) });
private static List<Point> listPointsLine4 = new List<Point>(new Point[] { new Point(100, 550), new Point(200, 600), new Point(300, 700), new Point(400, 650), new Point(500, 550), new Point(600, 600), new Point(700, 700), new Point(800, 650), new Point(900, 700), new Point(1000, 750) });
public static List<List<Point>> GetPointsFromDB()
{
List<List<Point>> result = new List<List<Point>>();
result.Add(listPointsLine1);
result.Add(listPointsLine2);
result.Add(listPointsLine3);
result.Add(listPointsLine4);
return result;
}
}
}
---------------------------------------------------------------------------------------
PointsCollectionConverter.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Collections.ObjectModel;
namespace SliderScaleCanvas
{
public class PolygonViewModel : ViewModelBase
{
private List<Point> points = new List<Point>();
private List<Point> _listPointsLine1;
private List<Point> _listPointsLine2;
private string _fillImagePath;
public PolygonViewModel(List<Point> listPointsLine1, List<Point> listPointsLine2, string fillImagePath)
{
_listPointsLine1 = listPointsLine1;
_listPointsLine2 = listPointsLine2;
_fillImagePath = fillImagePath;
}
public ReadOnlyCollection<Point> PolygonPoints
{
get
{
return new ReadOnlyCollection<Point>(points);
}
set
{
points = new List<Point>(value);
OnPropertyChanged("PolygonPoints");
}
}
public string FillImagePath
{
get
{
return _fillImagePath;
}
}
internal void SetPoints(int regionWidthPercentage)
{
points.Clear();
var inBoundsPoitns = from val in _listPointsLine1
where val.X <= 10 * regionWidthPercentage
orderby val.X ascending
select val;
points.AddRange(inBoundsPoitns);
inBoundsPoitns = from val in _listPointsLine2
where val.X <= 10 * regionWidthPercentage
orderby val.X descending
select val;
points.AddRange(inBoundsPoitns);
OnPropertyChanged("PolygonPoints");
}
}
}
ASKER
ASKER
ASKER
ASKER
<ItemsControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Polygons}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas>
[b] <Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<TranslateTransform Y="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Canvas,AncestorLevel=2}, Path=ActualHeight}" />
</TransformGroup>
</Canvas.RenderTransform>[/b]
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<Window x:Class="SliderScaleCanvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ResizeMode="CanResize"
xmlns:local="clr-namespace:SliderScaleCanvas"
Title="MainWindow" Height="600" Width="700" VerticalAlignment="Top" HorizontalAlignment="Left" x:Name="mainWindow">
<Window.Resources>
<local:PointsCollectionConverter x:Key="pointsCollectionConverter" />
<VisualBrush x:Key="DotFillBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<DataTemplate DataType="{x:Type local:PolygonViewModel}">
<Polygon Points="{Binding PolygonPoints, Converter={StaticResource pointsCollectionConverter}}">
<Polygon.Fill>
<ImageBrush TileMode="Tile" Viewport="0, 0, 20, 20" Stretch="None" ViewportUnits="Absolute" ImageSource="{Binding FillImagePath}" />
</Polygon.Fill>
</Polygon>
</DataTemplate>
</Window.Resources>
<Window.DataContext>
<local:MainViewModel />
</Window.DataContext>
<Border BorderBrush="Black" BorderThickness="2" CornerRadius="0" Padding="5">
<Grid Name="MainGrid" Background="lightyellow" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Canvas x:Name="mainCanvas" Background="LightYellow" Margin="10">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Canvas Size: " Name="label1" />
<TextBlock Name="lblWindowSize">
<Run Text="{Binding ElementName=mainWindow, Path=ActualWidth, Mode=OneWay}" />
<Run Text=","/>
<Run Text="{Binding ElementName=mainWindow, Path=ActualHeight, Mode=OneWay}"/>
</TextBlock>
<TextBlock Text=" px" Name="lblPixels" />
</StackPanel>
</Canvas>
<ItemsControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Polygons}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="-1"/>
<TranslateTransform Y="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Canvas,AncestorLevel=1}, Path=ActualHeight}" />
</TransformGroup>
</Canvas.RenderTransform>
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<StackPanel Orientation="Horizontal" Grid.Row="1">
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" x:Name="sldSlider" VerticalAlignment="Bottom"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="10" Maximum="100" Height="29" Value="{Binding RegionWidthPercentage}"/>
<StackPanel x:Name="LayoutRoot" Background="LightGreen" Width="200">
<StackPanel Name="stpSliderPosition" Orientation="Horizontal" Width="100">
<TextBlock Margin="5,5,10,5">Slider</TextBlock>
<TextBlock Margin="5,5,0,5" TextAlignment="Left" Width="30" Text="{Binding Path=Value, ElementName=sldSlider, Mode=OneWay}" />
<TextBlock Margin="0,5">%</TextBlock>
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
</Border>
</Window>
ASKER
ASKER
<Window x:Class="SquigglyLines.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Squiggly Lines Demo" Height="720" Width="960"
WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterScreen"
Background="Transparent" ResizeMode="CanMinimize">
<Window.Resources>
<LinearGradientBrush x:Key="WindowFrameBrush" StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Color="CadetBlue" Offset="0.4"/>
<GradientStop Color="Gray" Offset="1"/>
</LinearGradientBrush>
<VisualBrush x:Key="DotFillBrush"
TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute"
Viewbox="0,0,12,12" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Ellipse Fill="#00C0FF" Width="10" Height="10" />
</VisualBrush.Visual>
</VisualBrush>
<VisualBrush x:Key="HatchBrush" TileMode="Tile" Viewport="0,0,10,10" ViewportUnits="Absolute" Viewbox="0,0,10,10" ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Rectangle Fill="Azure" Width="10" Height="10" />
<Path Stroke="Purple" Data="M 0 0 l 10 10" />
<Path Stroke="Purple" Data="M 0 10 l 10 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
<Border Background="#50FFFFFF" CornerRadius="5" BorderBrush="{StaticResource WindowFrameBrush}" BorderThickness="2,0,2,2">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition/>
</Grid.RowDefinitions>
<Border Background="{StaticResource WindowFrameBrush}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
CornerRadius="5,5,0,0" Margin="-1,0,-1,0" MouseLeftButtonDown="DragWindow">
<Grid>
<TextBlock Foreground="White" FontWeight="Bold" VerticalAlignment="Center" Margin="10,2,10,2"
Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Title}"/>
<!--<Button Content="O" Name="MinMax" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,25,0" FontSize="7"
Width="15" Height="15" Click="WindowMinMax" />-->
<Button Content="X" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5" FontSize="7"
Width="15" Height="15" Padding="0" Command="ApplicationCommands.Close"/>
</Grid>
</Border>
<!-- Begin Main Content-->
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0, 35,0,0" >
<Canvas x:Name="mainCanvas" Background="Transparent" Height="670" Width="920" VerticalAlignment="Top" Margin="0,0,0,200">
<Canvas.LayoutTransform>
<ScaleTransform ScaleX="{Binding Path=Value, ElementName=zoomSlider}"
ScaleY="{Binding Path=Value, ElementName=zoomSlider}"/>
</Canvas.LayoutTransform>
<!-- Begin Test Pattern Brushes
<Rectangle Canvas.Top="20" Canvas.Left="20" Width="80" Height="40" Fill="{StaticResource DotFillBrush}"/>
<Rectangle Canvas.Top="20" Canvas.Left="120" Width="80" Height="40" Fill="{StaticResource HatchBrush}"/>
<TextBlock Canvas.Top="80" Canvas.Left="20" Text="Hello" FontSize="80" Foreground="{StaticResource DotFillBrush}"/>
<TextBlock Canvas.Top="80" Canvas.Left="220" Text="World" FontSize="80" Foreground="{StaticResource HatchBrush}"/>
End Test Pattern Brushes -->
<!-- Polygon Name="Blue" Points=" 100, 100 200, 150 300, 250 400, 200 500, 100 600, 150 700, 250 800, 200 900, 250 1000, 300
1000, 350 900, 300 800, 250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 ">
<Polygon.Fill>
<SolidColorBrush Color="Blue"/>
</Polygon.Fill>
</Polygon -->
<!--<Polygon Name="Green"
Points="1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 ">
<Polygon.Fill>
<SolidColorBrush Color="Green"/>
</Polygon.Fill>
</Polygon>-->
<!--<Polygon Name="Brown" Points="100, 300 200, 350 300, 450 400, 400
500, 300 600, 350 700, 450 800, 400
900, 450 1000, 500 1000, 750 900, 700
800, 650 700, 700 600, 600 500, 550
400, 650 300, 700 200, 600 100, 550">
<Polygon.Fill>
<SolidColorBrush Color="Brown"/>
</Polygon.Fill>
</Polygon>-->
<!-- Begin Canvas Border -->
<Line Stroke="Gray" StrokeThickness="2" Canvas.Bottom="0" Y1="670"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Bottom="0" X1="920"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Right="0" Y1="670"></Line>
<Line Stroke="Gray" StrokeThickness="2" Canvas.Right="0" X1="920"></Line>
<!-- End Canvas Border -->
<Slider Orientation="Horizontal" AutoToolTipPlacement="TopLeft" Canvas.Bottom="0"
IsSnapToTickEnabled="True" Width="400" TickPlacement="BottomRight" Background="DimGray"
TickFrequency="1" Maximum="9" ValueChanged="Slider_ValueChanged" Height="29" />
</Canvas>
</Grid>
<!-- End Main Content -->
</Grid>
</Border>
</Window>
-----------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SquigglyLines
{
/// <summary>
/// Interaction logic for Page1.xaml
/// </summary>
public partial class Window1 : Window
{
private Polygon Pol1;
private Polygon Pol2;
private Polygon Pol3;
ImageBrush Pol1PatternBrush = new ImageBrush();
ImageBrush Pol2PatternBrush = new ImageBrush();
ImageBrush Pol3PatternBrush = new ImageBrush();
public Window1()
{
InitializeComponent();
this.Topmost = true;
CommandBindings.Add(new CommandBinding(ApplicationCommands.Close,
new ExecutedRoutedEventHandler(delegate(object sender, ExecutedRoutedEventArgs args) { this.Close(); })));
// Done in XAML
//WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
InitializeComponent();
Pol1 = new Polygon();
Pol2 = new Polygon();
Pol3 = new Polygon();
Pol1PatternBrush.TileMode = TileMode.Tile;
Pol1PatternBrush.Stretch = Stretch.None;
Pol1PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol1PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol1PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\GasPattern.jpg", UriKind.Relative));
Pol1.Fill = Pol1PatternBrush;
Pol2PatternBrush.TileMode = TileMode.Tile;
Pol2PatternBrush.Stretch = Stretch.None;
Pol2PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol2PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol2PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\SandStonePattern.jpg", UriKind.Relative));
Pol2.Fill = Pol2PatternBrush;
Pol3PatternBrush.TileMode = TileMode.Tile;
Pol3PatternBrush.Stretch = Stretch.None;
Pol3PatternBrush.Viewport = new System.Windows.Rect(0, 0, 118, 36);
Pol3PatternBrush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute;
Pol3PatternBrush.ImageSource = new BitmapImage(new Uri(@"Images\OilPattern.jpg", UriKind.Relative));
Pol3.Fill = Pol3PatternBrush;
//Viewport="0,0,300,300"
//ViewportUnits="Absolute"
//TileMode="Tile"
//Stretch="None"
//AlignmentX="Left"
//AlignmentY="Top" />
Pol1.Opacity = 0.7;
Pol2.Opacity = 0.7;
Pol3.Opacity = 0.7;
Pol1.Points = new PointCollection();
Pol2.Points = new PointCollection();
Pol3.Points = new PointCollection();
mainCanvas.Children.Add(Pol1);
mainCanvas.Children.Add(Pol2);
mainCanvas.Children.Add(Pol3);
// Move all polygons up & left
TranslateTransform translateTransform1 = new TranslateTransform(-300, -100);
Pol1.RenderTransform = translateTransform1;
Pol2.RenderTransform = translateTransform1;
Pol3.RenderTransform = translateTransform1;
// Make all polygons smaller
ScaleTransform scaleTransform1 = new ScaleTransform(0.8, 0.8);
Pol1.RenderTransform = scaleTransform1;
Pol2.RenderTransform = scaleTransform1;
Pol3.RenderTransform = scaleTransform1;
}
public void DragWindow(object sender, MouseButtonEventArgs args)
{
DragMove();
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double value = e.NewValue;
Pol1.Points.Clear();
Pol2.Points.Clear();
Pol3.Points.Clear();
if (value == 0)
{
}
if (value == 1)
{
// BLUE
//p.Points = new PointCollection() { new Point(100, 100), new Point(200, 150), new Point(300, 250), new Point(400, 200),
//new Point(500, 100), new Point(600, 150), new Point(700, 250), new Point(800, 200),
//new Point(900, 250), new Point(1000, 300), new Point(1000, 350), new Point(900, 300),
//new Point(800, 250), new Point(700, 300), new Point(600, 200), new Point(500, 150),
//new Point(400, 250), new Point(300, 300), new Point(200, 200), new Point(100, 150) };
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_4 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_4 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
// BROWN
//p2.Points = new PointCollection() { new Point(100, 300), new Point(200, 350), new Point(300, 450), new Point(400, 400),
// new Point(500, 300), new Point(600, 350), new Point(700, 450), new Point(800, 400),
// new Point(900, 450), new Point(1000, 500), new Point(1000, 750), new Point(900, 700),
// new Point(800, 650), new Point(700, 700), new Point(600, 600), new Point(500, 550),
// new Point(400, 650), new Point(300, 700), new Point(200, 600), new Point(100, 550) };
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_4 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
}
if (value == 2)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_5 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_6 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_5 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_6 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_5 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_6 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
}
if (value == 3)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_6 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_7 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_8 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_6 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_7 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_8 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_6 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_7 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_8 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
}
if (value == 4)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_9 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_10 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
// GREEN
// 1.Points = new PointCollection() { new Point( 1000,350 900,300 800,250 700, 300 600, 200 500, 150 400, 250 300, 300 200, 200 100, 150 100, 300 200, 350 300, 450 400, 400 500, 300 600, 350 700, 450 800, 400 900, 450 1000, 500 "
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_7 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_8 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_9 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_10 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_7 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_8 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_9 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_10 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
}
if (value == 5)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_8 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_9 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_12 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_8 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_9 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_10 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_12 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_8 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_9 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_10 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_12 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
}
if (value == 6)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_9 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_10 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_11 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_12 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_14 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_9 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_10 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_11 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_12 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_14 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_9 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_10 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_11 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_12 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_14 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
}
if (value == 7)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_12 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_13 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_14 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_15 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_16 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_10 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_12 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_13 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_14 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_15 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_16 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_10 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_12 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_13 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_14 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_15 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_16 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
}
if (value == 8)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(900, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(900, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_12 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_14 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_15 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_16 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_17 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_18 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
myPointCollection1.Add(Point1_17);
myPointCollection1.Add(Point1_18);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(900, 300);
System.Windows.Point Point2_10 = new System.Windows.Point(900, 450);
System.Windows.Point Point2_11 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_12 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_14 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_15 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_16 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_17 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_18 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
myPointCollection2.Add(Point2_17);
myPointCollection2.Add(Point2_18);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(900, 450);
System.Windows.Point Point3_10 = new System.Windows.Point(900, 700);
System.Windows.Point Point3_11 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_12 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_14 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_15 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_16 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_17 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_18 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
myPointCollection3.Add(Point3_17);
myPointCollection3.Add(Point3_18);
}
if (value == 9)
{
// BLUE
System.Windows.Point Point1_1 = new System.Windows.Point(100, 100);
System.Windows.Point Point1_2 = new System.Windows.Point(200, 150);
System.Windows.Point Point1_3 = new System.Windows.Point(300, 250);
System.Windows.Point Point1_4 = new System.Windows.Point(400, 200);
System.Windows.Point Point1_5 = new System.Windows.Point(500, 100);
System.Windows.Point Point1_6 = new System.Windows.Point(600, 150);
System.Windows.Point Point1_7 = new System.Windows.Point(700, 250);
System.Windows.Point Point1_8 = new System.Windows.Point(800, 200);
System.Windows.Point Point1_9 = new System.Windows.Point(900, 250);
System.Windows.Point Point1_10 = new System.Windows.Point(1000, 300);
System.Windows.Point Point1_11 = new System.Windows.Point(1000, 350);
System.Windows.Point Point1_12 = new System.Windows.Point(900, 300);
System.Windows.Point Point1_13 = new System.Windows.Point(800, 250);
System.Windows.Point Point1_14 = new System.Windows.Point(700, 300);
System.Windows.Point Point1_15 = new System.Windows.Point(600, 200);
System.Windows.Point Point1_16 = new System.Windows.Point(500, 150);
System.Windows.Point Point1_17 = new System.Windows.Point(400, 250);
System.Windows.Point Point1_18 = new System.Windows.Point(300, 300);
System.Windows.Point Point1_19 = new System.Windows.Point(200, 200);
System.Windows.Point Point1_20 = new System.Windows.Point(100, 150);
PointCollection myPointCollection1 = Pol1.Points;
myPointCollection1.Add(Point1_1);
myPointCollection1.Add(Point1_2);
myPointCollection1.Add(Point1_3);
myPointCollection1.Add(Point1_4);
myPointCollection1.Add(Point1_5);
myPointCollection1.Add(Point1_6);
myPointCollection1.Add(Point1_7);
myPointCollection1.Add(Point1_8);
myPointCollection1.Add(Point1_9);
myPointCollection1.Add(Point1_10);
myPointCollection1.Add(Point1_11);
myPointCollection1.Add(Point1_12);
myPointCollection1.Add(Point1_13);
myPointCollection1.Add(Point1_14);
myPointCollection1.Add(Point1_15);
myPointCollection1.Add(Point1_16);
myPointCollection1.Add(Point1_17);
myPointCollection1.Add(Point1_18);
myPointCollection1.Add(Point1_19);
myPointCollection1.Add(Point1_20);
// GREEN
System.Windows.Point Point2_1 = new System.Windows.Point(100, 150);
System.Windows.Point Point2_2 = new System.Windows.Point(200, 200);
System.Windows.Point Point2_3 = new System.Windows.Point(300, 300);
System.Windows.Point Point2_4 = new System.Windows.Point(400, 250);
System.Windows.Point Point2_5 = new System.Windows.Point(500, 150);
System.Windows.Point Point2_6 = new System.Windows.Point(600, 200);
System.Windows.Point Point2_7 = new System.Windows.Point(700, 300);
System.Windows.Point Point2_8 = new System.Windows.Point(800, 250);
System.Windows.Point Point2_9 = new System.Windows.Point(900, 300);
System.Windows.Point Point2_10 = new System.Windows.Point(1000, 350);
System.Windows.Point Point2_11 = new System.Windows.Point(1000, 500);
System.Windows.Point Point2_12 = new System.Windows.Point(900, 450);
System.Windows.Point Point2_13 = new System.Windows.Point(800, 400);
System.Windows.Point Point2_14 = new System.Windows.Point(700, 450);
System.Windows.Point Point2_15 = new System.Windows.Point(600, 350);
System.Windows.Point Point2_16 = new System.Windows.Point(500, 300);
System.Windows.Point Point2_17 = new System.Windows.Point(400, 400);
System.Windows.Point Point2_18 = new System.Windows.Point(300, 450);
System.Windows.Point Point2_19 = new System.Windows.Point(200, 350);
System.Windows.Point Point2_20 = new System.Windows.Point(100, 300);
PointCollection myPointCollection2 = Pol2.Points;
myPointCollection2.Add(Point2_1);
myPointCollection2.Add(Point2_2);
myPointCollection2.Add(Point2_3);
myPointCollection2.Add(Point2_4);
myPointCollection2.Add(Point2_5);
myPointCollection2.Add(Point2_6);
myPointCollection2.Add(Point2_7);
myPointCollection2.Add(Point2_8);
myPointCollection2.Add(Point2_9);
myPointCollection2.Add(Point2_10);
myPointCollection2.Add(Point2_11);
myPointCollection2.Add(Point2_12);
myPointCollection2.Add(Point2_13);
myPointCollection2.Add(Point2_14);
myPointCollection2.Add(Point2_15);
myPointCollection2.Add(Point2_16);
myPointCollection2.Add(Point2_17);
myPointCollection2.Add(Point2_18);
myPointCollection2.Add(Point2_19);
myPointCollection2.Add(Point2_20);
// BROWN
System.Windows.Point Point3_1 = new System.Windows.Point(100, 300);
System.Windows.Point Point3_2 = new System.Windows.Point(200, 350);
System.Windows.Point Point3_3 = new System.Windows.Point(300, 450);
System.Windows.Point Point3_4 = new System.Windows.Point(400, 400);
System.Windows.Point Point3_5 = new System.Windows.Point(500, 300);
System.Windows.Point Point3_6 = new System.Windows.Point(600, 350);
System.Windows.Point Point3_7 = new System.Windows.Point(700, 450);
System.Windows.Point Point3_8 = new System.Windows.Point(800, 400);
System.Windows.Point Point3_9 = new System.Windows.Point(900, 450);
System.Windows.Point Point3_10 = new System.Windows.Point(1000, 500);
System.Windows.Point Point3_11 = new System.Windows.Point(1000, 750);
System.Windows.Point Point3_12 = new System.Windows.Point(900, 700);
System.Windows.Point Point3_13 = new System.Windows.Point(800, 650);
System.Windows.Point Point3_14 = new System.Windows.Point(700, 700);
System.Windows.Point Point3_15 = new System.Windows.Point(600, 600);
System.Windows.Point Point3_16 = new System.Windows.Point(500, 550);
System.Windows.Point Point3_17 = new System.Windows.Point(400, 650);
System.Windows.Point Point3_18 = new System.Windows.Point(300, 700);
System.Windows.Point Point3_19 = new System.Windows.Point(200, 600);
System.Windows.Point Point3_20 = new System.Windows.Point(100, 550);
PointCollection myPointCollection3 = Pol3.Points;
myPointCollection3.Add(Point3_1);
myPointCollection3.Add(Point3_2);
myPointCollection3.Add(Point3_3);
myPointCollection3.Add(Point3_4);
myPointCollection3.Add(Point3_5);
myPointCollection3.Add(Point3_6);
myPointCollection3.Add(Point3_7);
myPointCollection3.Add(Point3_8);
myPointCollection3.Add(Point3_9);
myPointCollection3.Add(Point3_10);
myPointCollection3.Add(Point3_11);
myPointCollection3.Add(Point3_12);
myPointCollection3.Add(Point3_13);
myPointCollection3.Add(Point3_14);
myPointCollection3.Add(Point3_15);
myPointCollection3.Add(Point3_16);
myPointCollection3.Add(Point3_17);
myPointCollection3.Add(Point3_18);
myPointCollection3.Add(Point3_19);
myPointCollection3.Add(Point3_20);
}
}
}
}
ASKER
ASKER
ASKER
Most development for the Microsoft platform is done utilizing the technologies supported by the.NET framework. Other development is done using Visual Basic for Applications (VBA) for programs like Access, Excel, Word and Outlook, with PowerShell for scripting, or with SQL for large databases.
TRUSTED BY
You need to set the dataconext of your UI to point the viewmodel you want.
MVVM stands for Model-View-ViewModel.
3 layes where the UI doesn't know much about the ViewModel and nothing about the model (there are some cases where we can have the UI know about some properties for the model), the Model doesn't know about the ViewModel, and the ViewModel doesn't know about the UI.
You should better start with a small application before you try to do something more complicated.
What kind of example would you like to build?