<DockPanel> <Border Height="25" removed="SkyBlue" BorderBrush="Black" BorderThickness="1" DockPanel.Dock="top"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="100" /> <ColumnDefinition Width="100" /> </Grid.ColumnDefinitions> <Button x:Name="redBtn" Width="100" Grid.Column="0" Content="RED" Foreground="red" Click="BoxClickHandler"/> <Button x:Name="blueBtn" Grid.Column="1" Width="100" Content="Blue" Foreground="blue" Click="BoxClickHandler"/> </Grid> </Border> <Border Height="75" removed="SkyBlue" BorderBrush="Black" BorderThickness="1" DockPanel.Dock="top"> <Rectangle x:Name="blueRedBox" Margin="10,10,10,10" Stroke="Red" Width="60" Height="60"> <Rectangle.Fill> <SolidColorBrush Color="Blue" /> </Rectangle.Fill> </Rectangle> </Border> <Border Height="25" removed="LemonChiffon" BorderBrush="Black" BorderThickness="1" DockPanel.Dock="Bottom"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="115" /> <ColumnDefinition Width="150" /> <ColumnDefinition Width="100" /> </Grid.ColumnDefinitions> <Button x:Name="BlueGreenBoxColorChangeBtn" HorizontalAlignment="Left" Content="Change Color of Box" Click="BlueGreenBoxColorChangeBtn_OnClick"/> <Button x:Name="CircleColorChange" Grid.Column="1" Content="Circle Color Change" Click="BoxClickHandler" /> <Button x:Name="ResetBtn" Grid.Column="2" Content="Reset" Click="BoxClickHandler" /> </Grid> </Border> <Border removed="White" BorderBrush="Black" BorderThickness="1"> </Border> <Canvas> <Rectangle x:Name="BlueGreenBox" Width="145" Height="126" Canvas.Left="100" Canvas.Top="25"> <Rectangle.Fill> <SolidColorBrush Color="blue" /> </Rectangle.Fill> <Rectangle.Stroke> <SolidColorBrush Color="Blue" /> </Rectangle.Stroke> </Rectangle> <Ellipse x:Name="Circle" StrokeThickness="3" Width="121" Height="100" Panel.ZIndex="1" Canvas.Left="195" Canvas.Top="30"> <Ellipse.Fill> <SolidColorBrush Color="Green" /> </Ellipse.Fill> <Ellipse.Stroke> <SolidColorBrush Color="Blue"/> </Ellipse.Stroke> </Ellipse> </Canvas> </DockPanel> </Window>
using System.Windows; using System.Windows.Media; namespace DockPanels { public partial class MainWindow : Window { SolidColorBrush greenBrush = new SolidColorBrush(Colors.Green); SolidColorBrush redBrush = new SolidColorBrush(Colors.Red); SolidColorBrush blueBrush = new SolidColorBrush(Colors.Blue); public MainWindow() { InitializeComponent(); } private void BoxClickHandler(object sender, RoutedEventArgs e) { FrameworkElement feSource = e.Source as FrameworkElement; switch (feSource.Name) { case "blueBtn": blueRedBox.Fill = blueBrush; blueRedBox.Stroke = blueBrush; break; case "redBtn": blueRedBox.Fill = redBrush; blueRedBox.Stroke = redBrush; break; //case "BlueGreenBoxColorChangeBtn": // BlueGreenBoxColorChangeBtn.Click += new RoutedEventHandler(BlueGreenBoxColorChangeBtn1); // BlueGreenBoxColorChangeBtn.Click += new RoutedEventHandler(BlueGreenBoxColorChangeBtn2); // break; case "CircleColorChange": Circle.Fill = blueBrush; Circle.Stroke = blueBrush; break; case "ResetBtn": Circle.Fill = greenBrush; Circle.Stroke = blueBrush; break; } e.Handled = true; } private void BlueGreenBoxColorChangeBtn_OnClick(object sender, RoutedEventArgs e) { BlueGreenBoxColorChangeBtn1(); BlueGreenBoxColorChangeBtn2(); } private void BlueGreenBoxColorChangeBtn1() { BlueGreenBox.Fill = greenBrush; BlueGreenBox.Stroke = greenBrush; } private void BlueGreenBoxColorChangeBtn2() { BlueGreenBox.Fill = blueBrush; BlueGreenBox.Stroke = blueBrush; } //public static readonly RoutedEvent BlueGreenBoxColorChangeBtn_OnClick = EventManager.RegisterRoutedEvent("BlueGreenBox", RoutingStrategy.Direct, typeof(DependencyPropertyChangedEventHandler), typeof(SolidColorBrush)); //public event RoutedEventHandler BlueGreenBox //{ // add { AddHandler(BlueGreenBox, value); } // remove { RemoveHandler(BlueGreenBox, value); } //} } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)