|
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------
namespace System.Activities.Presentation.Internal.PropertyEditing.Editors
{
using System;
using System.Windows;
using System.Activities.Presentation.PropertyEditing;
using System.Activities.Presentation.Internal.PropertyEditing.Resources;
// <summary>
// SubPropertyViewEditor is a "fake" value editor. We only use it as a marker that exposes
// MarkerSubPropertyTemplate as its editor DataTemplates. The XAML code for PropertyContainer
// specifically looks for these markers and it switches its InlineRowTemplate to a
// sub-property-specific inline row template when found.
// </summary>
internal class SubPropertyViewEditor : ExtendedPropertyValueEditor
{
private static SubPropertyViewEditor _instance;
// This class can have a private ctor because we instantiate it through code,
// not through XAML or attributes
private SubPropertyViewEditor()
: base(
PropertyInspectorResources.GetResources()["MarkerSubPropertyTemplate"] as DataTemplate,
PropertyInspectorResources.GetResources()["MarkerSubPropertyTemplate"] as DataTemplate)
{
}
// <summary>
// Gets the static instance of this class
// </summary>
public static SubPropertyViewEditor Instance
{
get {
if (_instance == null)
{
_instance = new SubPropertyViewEditor();
}
return _instance;
}
}
}
}
|