/V4/PrismLibrary/Desktop/Prism/Regions/IRegionManagerAccessor.cs
C# | 50 lines | 11 code | 3 blank | 36 comment | 0 complexity | ab2f9df3e7e412e4ed4e5d4da9947330 MD5 | raw file
- //===================================================================================
- // Microsoft patterns & practices
- // Composite Application Guidance for Windows Presentation Foundation and Silverlight
- //===================================================================================
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
- // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
- // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- // FITNESS FOR A PARTICULAR PURPOSE.
- //===================================================================================
- // The example companies, organizations, products, domain names,
- // e-mail addresses, logos, people, places, and events depicted
- // herein are fictitious. No association with any real company,
- // organization, product, domain name, email address, logo, person,
- // places, or events is intended or should be inferred.
- //===================================================================================
- using System;
- using System.Windows;
-
- namespace Microsoft.Practices.Prism.Regions
- {
- /// <summary>
- /// Provides an abstraction on top of the RegionManager static members.
- /// </summary>
- public interface IRegionManagerAccessor
- {
- /// <summary>
- /// Notification used by attached behaviors to update the region managers appropriatelly if needed to.
- /// </summary>
- /// <remarks>This event uses weak references to the event handler to prevent this static event of keeping the
- /// target element longer than expected. For security reasons, to use weak delegates in Silverlight you must provide
- /// a delegate that is available in the public API of the class (no private or anonymous delegates allowed).</remarks>
- event EventHandler UpdatingRegions;
-
- /// <summary>
- /// Gets the value for the RegionName attached property.
- /// </summary>
- /// <param name="element">The object to adapt. This is typically a container (i.e a control).</param>
- /// <returns>The name of the region that should be created when
- /// the RegionManager is also set in this element.</returns>
- string GetRegionName(DependencyObject element);
-
- /// <summary>
- /// Gets the value of the RegionName attached property.
- /// </summary>
- /// <param name="element">The target element.</param>
- /// <returns>The <see cref="IRegionManager"/> attached to the <paramref name="element"/> element.</returns>
- IRegionManager GetRegionManager(DependencyObject element);
- }
- }