File: System\Windows\Automation\Provider\IMultipleViewProvider.cs
Web Access
Project: src\src\Microsoft.DotNet.Wpf\src\UIAutomation\UIAutomationProvider\UIAutomationProvider.csproj (UIAutomationProvider)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
// Description: Multiple View pattern provider interface
 
using System.Runtime.InteropServices;
 
namespace System.Windows.Automation.Provider
{
    /// <summary>
    ///  Exposes an element's ability to switch between multiple representations of the 
    ///  same set of information, data, or children
    ///
    ///  This pattern should be implemented on the container which controls the current view of content.
    /// </summary>
    [ComVisible(true)]
    [Guid("6278cab1-b556-4a1a-b4e0-418acc523201")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
#if (NO_INTERNAL_COMPILE_BUG1080665)
    internal interface IMultipleViewProvider
#else
    public interface IMultipleViewProvider
#endif
    {
        /// <summary>
        /// The string view name string must be suitable for use by TTS, Braille, etc.
        /// </summary>
        /// <param name="viewId">
        /// The view ID corresponding to the control's current state. This ID is control-specific and can should
        /// be the same across instances.
        /// </param>
        /// <returns>Return a localized, human readable string in the application's current UI language.</returns>
        string GetViewName( int viewId );
 
        /// <summary>
        /// Change the current view using an ID returned from SupportedViews property
        /// </summary>
        void SetCurrentView( int viewId );    
 
        /// <summary>The view ID corresponding to the control's current state. This ID is control-specific</summary>
        int CurrentView
        {
            get;
        }
 
        /// <summary>Returns an array of ints representing the full set of views available in this control.</summary>
        int [] GetSupportedViews();
    }
}