DialogPropertyValueEditor (Clase)
Contenedor de toda la lógica de edición de cuadro de diálogo para objetos PropertyEntry.
Jerarquía de herencia
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Espacio de nombres: Microsoft.Windows.Design.PropertyEditing
Ensamblado: Microsoft.Windows.Design.Interaction (en Microsoft.Windows.Design.Interaction.dll)
Sintaxis
'Declaración
Public Class DialogPropertyValueEditor _
Inherits PropertyValueEditor
public class DialogPropertyValueEditor : PropertyValueEditor
public ref class DialogPropertyValueEditor : public PropertyValueEditor
type DialogPropertyValueEditor =
class
inherit PropertyValueEditor
end
public class DialogPropertyValueEditor extends PropertyValueEditor
El tipo DialogPropertyValueEditor expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
DialogPropertyValueEditor() | Inicializa una nueva instancia de la clase DialogPropertyValueEditor. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Inicializa una nueva instancia de la clase DialogPropertyValueEditor. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
DialogEditorTemplate | Obtiene o establece el objeto DataTemplate que se hospeda en un cuadro de diálogo específico del host y tiene su conjunto de DataContext establecido en PropertyValue. | |
InlineEditorTemplate | Obtiene o establece el DataTemplate que se utiliza para un editor insertado. (Se hereda de PropertyValueEditor). |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). | |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
ShowDialog | Se llama a este método cuando el valor de DialogEditorTemplate es nullreferencia null (Nothing en Visual Basic) y el usuario ha invocado un cuadro de diálogo. | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Comentarios
Utilice la clase DialogPropertyValueEditor para mostrar un editor alineado que puede tener un editor con cuadro de diálogo asociado.
La clase DialogPropertyValueEditor puede contener DataTemplate para un editor de cuadros de diálogo o puede contener la lógica personalizada a la que se llama cuando se invoca el cuadro de diálogo.
El objeto EditModeSwitchButton de DataTemplate se utiliza para invocar la clase DialogPropertyValueEditor personalizada.
Puede proporcionar un objeto DataTemplate, que se muestra en un cuadro de diálogo de host, o puede invalidar el método ShowDialog, que habilita la reutilización de cuadros de diálogo existentes o cuadros de diálogo del sistema.
En la lista siguiente se muestran las reglas que determinan si se utiliza el método DataTemplate o ShowDialog.
Si la propiedad DialogEditorTemplate no es nullreferencia null (Nothing en Visual Basic), DataTemplate se hospeda en un cuadro de diálogo específico del host, que proporciona estilos de host. No se llama al método ShowDialog.
Si la propiedad DialogEditorTemplate es nullreferencia null (Nothing en Visual Basic), se llama al método ShowDialog virtual y es posible invalidar este método para mostrar cualquier cuadro de diálogo.
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear un editor de valores de propiedad con cuadro de diálogo que muestra un cuadro de diálogo de apertura de archivo cuando se hace clic en una propiedad FileName personalizada en la ventana Propiedades. Para obtener más información, vea Cómo: Crear un editor de valores de propiedad con cuadro de diálogo.
using System;
using System.ComponentModel;
using System.Windows;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.PropertyEditing;
using Microsoft.Win32;
namespace CustomControlLibrary.Design
{
public class FileBrowserDialogPropertyValueEditor : DialogPropertyValueEditor
{
private EditorResources res = new EditorResources();
public FileBrowserDialogPropertyValueEditor()
{
this.InlineEditorTemplate = res["FileBrowserInlineEditorTemplate"] as DataTemplate;
}
public override void ShowDialog(
PropertyValue propertyValue,
IInputElement commandSource)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Multiselect = false;
if (ofd.ShowDialog() == true)
{
propertyValue.StringValue = ofd.FileName;
}
}
}
}
<ResourceDictionary xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:PropertyEditing="clr-namespace:Microsoft.Windows.Design.PropertyEditing;assembly=Microsoft.Windows.Design.Interaction"
xmlns:Local="clr-namespace:CustomControlLibrary.Design"
x:Class="CustomControlLibrary.Design.EditorResources">
<DataTemplate x:Key="FileBrowserInlineEditorTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="0" Text="{Binding StringValue}"/>
<PropertyEditing:EditModeSwitchButton Grid.Column="1"/>
</Grid>
</DataTemplate>
</ResourceDictionary>
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.Windows.Design.PropertyEditing (Espacio de nombres)