|
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;
namespace TestZoom.Controls
{
/// <summary>
/// Defines the data-model for a simple displayable rectangle.
/// </summary>
public class RectangleData : INotifyPropertyChanged
{
#region Data Members
/// <summary>
/// The X coordinate of the location of the rectangle (in content coordinates).
/// </summary>
private double x = 0;
/// <summary>
/// The Y coordinate of the location of the rectangle (in content coordinates).
/// </summary>
private double y = 0;
/// <summary>
/// The width of the rectangle (in content coordinates).
/// </summary>
private double width = 0;
/// <summary>
/// The height of the rectangle (in content coordinates).
/// </summary>
private double height = 0;
/// <summary>
/// The color of the rectangle.
/// </summary>
private Color color;
/// <summary>
/// Set to 'true' when the rectangle is selected in the ListBox.
/// </summary>
private bool isSelected = false;
#endregion Data Members
public RectangleData()
{
}
public RectangleData(double x, double y, double width, double height, Color color)
{
this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.color = color;
}
#region Properties
/// <summary>
/// The X coordinate of the location of the rectangle (in content coordinates).
/// </summary>
public double X
{
get
{
return x;
}
set
{
x = value;
OnPropertyChanged("X");
}
}
/// <summary>
/// The Y coordinate of the location of the rectangle (in content coordinates).
/// </summary>
public double Y
{
get
{
return y;
}
set
{
y = value;
OnPropertyChanged("Y");
}
}
/// <summary>
/// The width of the rectangle (in content coordinates).
/// </summary>
public double Width
{
get
{
return width;
}
set
{
width = value;
OnPropertyChanged("Width");
}
}
/// <summary>
/// The height of the rectangle (in content coordinates).
/// </summary>
public double Height
{
get
{
return height;
}
set
{
height = value;
OnPropertyChanged("Height");
}
}
/// <summary>
/// The color of the rectangle.
/// </summary>
public Color Color
{
get
{
return color;
}
set
{
color = value;
OnPropertyChanged("Color");
}
}
/// <summary>
/// Set to 'true' when the rectangle is selected in the ListBox.
/// </summary>
public bool IsSelected
{
get
{
return isSelected;
}
set
{
isSelected = value;
OnPropertyChanged("IsSelected");
}
}
#endregion
#region INotifyPropertyChanged Members
/// <summary>
/// Raises the 'PropertyChanged' event when the value of a property of the data model has changed.
/// </summary>
private void OnPropertyChanged(string name)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
/// <summary>
/// 'PropertyChanged' event that is raised when the value of a property of the data model has changed.
/// </summary>
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Having 9+ years of experience in Microsoft.Net Technology.
Experience in developing applications on Microsoft .NET Platform ( Asp.Net, WPF, Silverlight, Windows Phone 7/8).
Experience and knowledge of software design methodologies (Agile), object oriented design, and software design patterns (MVVM).
Experience in Developing android mobile application using Xamarin (mono for android) framework.
http://hirenkhirsaria.blogspot.com/