// -----------------------------------------------------------------------
//
// Copyright 2014 MIT Licence. See licence.md for more information.
//
// -----------------------------------------------------------------------
namespace Perspex.Controls.Primitives
{
using System;
using Perspex.Interactivity;
public class ToggleButton : Button
{
public static readonly PerspexProperty IsCheckedProperty =
PerspexProperty.Register("IsChecked");
static ToggleButton()
{
Control.PseudoClass(IsCheckedProperty, ":checked");
}
public ToggleButton()
{
}
public bool IsChecked
{
get { return this.GetValue(IsCheckedProperty); }
set { this.SetValue(IsCheckedProperty, value); }
}
protected override void OnClick(RoutedEventArgs e)
{
this.Toggle();
}
protected virtual void Toggle()
{
this.IsChecked = !this.IsChecked;
}
}
}