File: System.Activities.Presentation\System\Activities\Presentation\Base\Core\Internal\PropertyEditing\Automation\AutomatedComboBox.cs
Project: ndp\cdf\src\NetFx40\Tools\System.Activities.Presentation.csproj (System.Activities.Presentation)
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//----------------------------------------------------------------
namespace System.Activities.Presentation.Internal.PropertyEditing.Automation 
{
    using System;
    using System.Diagnostics.CodeAnalysis;
    using System.Windows.Automation.Peers;
    using System.Windows.Controls;
 
    // <summary>
    // Standard ComboBox.  However, it uses AutomatedListBoxItemAutomationPeer to represent
    // all items within it, which is our class and which allows us to return user-friendly
    // representation of all Cider structures exposed through automation.
    // </summary>
    [SuppressMessage("Microsoft.Maintainability", "CA1501:AvoidExcessiveInheritance")]
    internal class AutomatedComboBox : ComboBox 
    {
 
        protected override AutomationPeer OnCreateAutomationPeer() 
        {
            return new AutomatedComboBoxAutomationPeer(this);
        }
 
        private class AutomatedComboBoxAutomationPeer : ComboBoxAutomationPeer 
        {
            public AutomatedComboBoxAutomationPeer(AutomatedComboBox owner)
                : base(owner) 
            {
            }
 
            protected override ItemAutomationPeer CreateItemAutomationPeer(object item) 
            {
                return new AutomatedListBoxItemAutomationPeer(item, this);
            }
        }
    }
}