mirror of
https://github.com/farcasclaudiu/SmartThreadPool.git
synced 2026-06-22 21:01:27 +03:00
760bc5d1a9
Also added: * Join, Choice, and Pipe to SmartThreadPool. * Local performance counters (for Mono, Silverlight, and WindowsCE)
109 lines
2.8 KiB
C#
109 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Animation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace STPSLDemo
|
|
{
|
|
public partial class SpinButton : UserControl
|
|
{
|
|
public SpinButton()
|
|
{
|
|
InitializeComponent();
|
|
|
|
Step = 1;
|
|
Value = 5;
|
|
Maximum = 10;
|
|
Minimum = 0;
|
|
}
|
|
|
|
private void Increment_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
int newValue = Math.Min(Value + Step, Maximum);
|
|
if (Value != newValue)
|
|
{
|
|
Value = newValue;
|
|
}
|
|
}
|
|
|
|
private void Decrement_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
int newValue = Math.Max(Value - Step, Minimum);
|
|
if (Value != newValue)
|
|
{
|
|
Value = newValue;
|
|
}
|
|
}
|
|
|
|
private void UpdateLabel()
|
|
{
|
|
lblCurrentValue.Text = Value.ToString();
|
|
ValueChanged(Value);
|
|
}
|
|
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
UpdateLabel();
|
|
}
|
|
|
|
public event Action<int> ValueChanged = newValue => { };
|
|
|
|
|
|
public static readonly DependencyProperty ValueProperty =
|
|
DependencyProperty.Register("Value", typeof(int), typeof(SpinButton), null);
|
|
|
|
public static readonly DependencyProperty MinimumProperty =
|
|
DependencyProperty.Register("Minimum", typeof(int), typeof(SpinButton), null);
|
|
|
|
public static readonly DependencyProperty MaximumProperty =
|
|
DependencyProperty.Register("Maximum", typeof(int), typeof(SpinButton), null);
|
|
|
|
public static readonly DependencyProperty StepProperty =
|
|
DependencyProperty.Register("Step", typeof(int), typeof(SpinButton), null);
|
|
|
|
public int Value
|
|
{
|
|
get { return (int)GetValue(ValueProperty); ; }
|
|
set
|
|
{
|
|
SetValue(ValueProperty, value);
|
|
UpdateLabel();
|
|
}
|
|
}
|
|
|
|
public int Step
|
|
{
|
|
get { return (int)GetValue(StepProperty); ; }
|
|
set
|
|
{
|
|
SetValue(StepProperty, value);
|
|
}
|
|
}
|
|
|
|
public int Minimum
|
|
{
|
|
get { return (int)GetValue(MinimumProperty); }
|
|
set
|
|
{
|
|
SetValue(MinimumProperty, value);
|
|
}
|
|
}
|
|
|
|
public int Maximum
|
|
{
|
|
get { return (int)GetValue(MaximumProperty); }
|
|
set
|
|
{
|
|
SetValue(MaximumProperty, value);
|
|
}
|
|
}
|
|
}
|
|
}
|