Classe DialogPropertyValueEditor
Recipiente para todos os diálogo caixa de edição de lógica para PropertyEntry objetos.
Hierarquia de herança
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Namespace: Microsoft.Windows.Design.PropertyEditing
Assembly: Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)
Sintaxe
'Declaração
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
O tipo DialogPropertyValueEditor expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
DialogPropertyValueEditor() | Initializes a new instance of the DialogPropertyValueEditor class. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Initializes a new instance of the DialogPropertyValueEditor class. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
DialogEditorTemplate | Obtém ou define o DataTemplate que é hospedado por uma caixa de diálogo específica do host e tem seu DataContext definido como um PropertyValue. | |
InlineEditorTemplate | Obtém ou define o DataTemplate que é usado para um editor embutido. (Herdado de PropertyValueEditor.) |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
ShowDialog | Chamado quando o DialogEditorTemplate é nulluma referência nula (Nothing no Visual Basic) e uma caixa de diálogo foi chamada pelo usuário. | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) |
Início
Comentários
Use o DialogPropertyValueEditor classe para mostrar um editor embutido que pode ter um editor de caixa de diálogo associadas.
O DialogPropertyValueEditor classe pode conter um DataTemplate para um editor de caixa de diálogo ou a lógica personalizada que é chamada quando a caixa de diálogo é invocada.
Use o EditModeSwitchButton no seu DataTemplate para chamar seu personalizado DialogPropertyValueEditor classe.
Você pode fornecer um DataTemplate que é mostrado na caixa de diálogo do host ou você pode substituir o ShowDialog método, que permite a reutilização de existente ou sistema diálogo caixas.
A lista a seguir mostra as regras para determinar se o DataTemplate ou ShowDialog método é usado.
Se a DialogEditorTemplate a propriedade não é nulluma referência nula (Nothing no Visual Basic), que DataTemplate está hospedado em uma caixa de diálogo específica do host, que fornece o estilo de host. O ShowDialog não é chamado.
Se o DialogEditorTemplate é a propriedade nulluma referência nula (Nothing no Visual Basic), o virtual ShowDialog método é chamado e você pode substituir esse método para mostrar a caixa de diálogo.
Exemplos
O exemplo de código a seguir mostra como criar uma caixa de diálogo editor de propriedade de valor que exibe uma caixa de diálogo Abrir arquivo quando um personalizado nome de arquivo propriedade é clicada na janela Propriedades. For more information, see Como: Criar um editor de valor de propriedade de caixa 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>
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.Windows.Design.PropertyEditing