//----------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // Implements ImageToggleButton. // //----------------------------------------------------------------------- namespace Microsoft.PowerShell.Commands.ShowCommandInternal { using System.Diagnostics.CodeAnalysis; using System.Windows; using System.Windows.Automation; /// /// Toggle button with images to represent enabled and disabled states /// [SuppressMessage("Microsoft.MSInternal", "CA903:InternalNamespaceShouldNotContainPublicTypes", Justification = "Required by XAML")] public partial class ImageToggleButton : ImageButtonBase { /// /// Value indicating the button is checked /// public static readonly DependencyProperty IsCheckedProperty = DependencyProperty.Register("IsChecked", typeof(bool), typeof(ImageToggleButton)); /// /// Initializes a new instance of the ImageToggleButton class. /// public ImageToggleButton() { InitializeComponent(); this.Loaded += new System.Windows.RoutedEventHandler(this.ImageButton_Loaded); } /// /// Gets or sets a value indicating whether the button is checked /// public bool IsChecked { get { return (bool)GetValue(ImageToggleButton.IsCheckedProperty); } set { SetValue(ImageToggleButton.IsCheckedProperty, value); } } /// /// Copies the automation id from the parent control to the inner button /// /// event sender /// event arguments private void ImageButton_Loaded(object sender, System.Windows.RoutedEventArgs e) { object thisAutomationId = this.GetValue(AutomationProperties.AutomationIdProperty); if (thisAutomationId != null) { this.toggleInnerButton.SetValue(AutomationProperties.AutomationIdProperty, thisAutomationId); } } } }