Classe DialogPropertyValueEditor
Contenitore per tutta la logica di modifica tramite finestra di dialogo per gli oggetti PropertyEntry.
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Spazio dei nomi: Microsoft.Windows.Design.PropertyEditing
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Sintassi
'Dichiarazione
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
Il tipo DialogPropertyValueEditor espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
DialogPropertyValueEditor() | Inizializza una nuova istanza della classe DialogPropertyValueEditor. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Inizializza una nuova istanza della classe DialogPropertyValueEditor. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
DialogEditorTemplate | Ottiene o imposta l'oggetto DataTemplate che viene ospitato da una finestra di dialogo specifica dell'host e che dispone dell'oggetto DataContext impostato su un oggetto PropertyValue. | |
InlineEditorTemplate | Ottiene o imposta l'oggetto DataTemplate utilizzato per un editor inline. (Ereditato da PropertyValueEditor) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
ShowDialog | Oggetto chiamato quando l'oggetto DialogEditorTemplate è nullriferimento null (Nothing in Visual Basic) e l'utente ha richiamato una finestra di dialogo. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Utilizzare la classe DialogPropertyValueEditor per visualizzare un editor in linea che può disporre di un editor della finestra di dialogo associato.
La classe DialogPropertyValueEditor può contenere un oggetto DataTemplate per un editor della finestra di dialogo o una logica personalizzata chiamata quando la finestra di dialogo viene richiamata.
Utilizzare l'oggetto EditModeSwitchButton nell'oggetto DataTemplate per richiamare la classe DialogPropertyValueEditor personalizzata.
È possibile fornire un oggetto DataTemplate visualizzato in una finestra di dialogo host oppure eseguire l'override del metodo ShowDialog che consente di riutilizzare finestre di dialogo esistenti o del sistema.
Nell'elenco seguente vengono mostrate le regole per determinare se viene utilizzato il metodo DataTemplate o ShowDialog.
Se la proprietà DialogEditorTemplate non è nullriferimento null (Nothing in Visual Basic), quell'oggetto DataTemplate viene ospitato in una finestra di dialogo specifica dell'host che fornisce l'applicazione di stili all'host. L'oggetto ShowDialog non viene chiamato.
Se la proprietà DialogEditorTemplate è nullriferimento null (Nothing in Visual Basic), viene chiamato il metodo ShowDialog virtuale ed è possibile eseguirne l'override per visualizzare tutte le finestre di dialogo.
Esempi
Nell'esempio di codice seguente viene illustrato come creare un editor di valori di proprietà di una finestra di dialogo che consenta di visualizzare una finestra di dialogo Apri file quando nella finestra Proprietà viene selezionata una proprietà FileName personalizzata. Per ulteriori informazioni, vedere Procedura: creare un editor di valori di proprietà di una finestra di dialogo.
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>
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Windows.Design.PropertyEditing