6 changed files with 44 additions and 303 deletions
@ -1,17 +0,0 @@ |
|||||
using System; |
|
||||
using System.Windows; |
|
||||
|
|
||||
namespace Microsoft.Windows.Controls |
|
||||
{ |
|
||||
public delegate void CheckListBoxCheckedChangedEventHandler(object sender, CheckListBoxCheckedChangedEventArgs e); |
|
||||
public class CheckListBoxCheckedChangedEventArgs : RoutedEventArgs |
|
||||
{ |
|
||||
public object Item { get; private set; } |
|
||||
|
|
||||
public CheckListBoxCheckedChangedEventArgs(RoutedEvent routedEvent, object source, object item) |
|
||||
: base(routedEvent, source) |
|
||||
{ |
|
||||
Item = item; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -1,81 +0,0 @@ |
|||||
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 System.Windows.Controls.Primitives; |
|
||||
|
|
||||
namespace Microsoft.Windows.Controls |
|
||||
{ |
|
||||
public class CheckListBoxItem : ContentControl |
|
||||
{ |
|
||||
static CheckListBoxItem() |
|
||||
{ |
|
||||
DefaultStyleKeyProperty.OverrideMetadata(typeof(CheckListBoxItem), new FrameworkPropertyMetadata(typeof(CheckListBoxItem))); |
|
||||
} |
|
||||
|
|
||||
public CheckListBoxItem() |
|
||||
{ |
|
||||
AddHandler(Mouse.MouseDownEvent, new MouseButtonEventHandler(CheckListBoxItem_MouseDown)); |
|
||||
} |
|
||||
|
|
||||
#region Properties
|
|
||||
|
|
||||
public static readonly DependencyProperty IsCheckedProperty = DependencyProperty.Register("IsChecked", typeof(bool), typeof(CheckListBoxItem), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnIsSelectedChanged)); |
|
||||
public bool IsChecked |
|
||||
{ |
|
||||
get { return (bool)GetValue(IsCheckedProperty); } |
|
||||
set { SetValue(IsCheckedProperty, value); } |
|
||||
} |
|
||||
|
|
||||
private static void OnIsSelectedChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) |
|
||||
{ |
|
||||
CheckListBoxItem checkListBoxItem = o as CheckListBoxItem; |
|
||||
if (checkListBoxItem != null) |
|
||||
checkListBoxItem.OnIsSelectedChanged((bool)e.OldValue, (bool)e.NewValue); |
|
||||
} |
|
||||
|
|
||||
protected virtual void OnIsSelectedChanged(bool oldValue, bool newValue) |
|
||||
{ |
|
||||
if (newValue) |
|
||||
RaiseSelectionChangedEvent(new RoutedEventArgs(CheckListBox.CheckedEvent, this)); |
|
||||
else |
|
||||
RaiseSelectionChangedEvent(new RoutedEventArgs(CheckListBox.UncheckedEvent, this)); |
|
||||
} |
|
||||
|
|
||||
#endregion //Properties
|
|
||||
|
|
||||
#region Events
|
|
||||
|
|
||||
public static readonly RoutedEvent SelectedEvent = CheckListBox.CheckedEvent.AddOwner(typeof(CheckListBoxItem)); |
|
||||
public static readonly RoutedEvent UnselectedEvent = CheckListBox.UncheckedEvent.AddOwner(typeof(CheckListBoxItem)); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
#region Event Hanlders
|
|
||||
|
|
||||
void CheckListBoxItem_MouseDown(object sender, MouseButtonEventArgs e) |
|
||||
{ |
|
||||
IsChecked = !IsChecked; |
|
||||
} |
|
||||
|
|
||||
#endregion //Event Hanlders
|
|
||||
|
|
||||
#region Methods
|
|
||||
|
|
||||
private void RaiseSelectionChangedEvent(RoutedEventArgs e) |
|
||||
{ |
|
||||
base.RaiseEvent(e); |
|
||||
} |
|
||||
|
|
||||
#endregion //Methods
|
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue