DialogPropertyValueEditor, classe
Conteneur de toute la logique d'édition de boîte de dialogue pour les objets PropertyEntry.
Hiérarchie d'héritage
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Espace de noms : Microsoft.Windows.Design.PropertyEditing
Assembly : Microsoft.Windows.Design.Interaction (dans Microsoft.Windows.Design.Interaction.dll)
Syntaxe
'Déclaration
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
Le type DialogPropertyValueEditor expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
DialogPropertyValueEditor() | Initialise une nouvelle instance de la classe DialogPropertyValueEditor. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Initialise une nouvelle instance de la classe DialogPropertyValueEditor. |
Début
Propriétés
Nom | Description | |
---|---|---|
DialogEditorTemplate | Obtient ou définit le DataTemplate qui est hébergé par une boîte de dialogue spécifique de l'hôte et dont DataContext est affecté à PropertyValue. | |
InlineEditorTemplate | Obtient ou définit le DataTemplate utilisé pour un éditeur inline. (Hérité de PropertyValueEditor.) |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) | |
ShowDialog | Appelé lorsque DialogEditorTemplate a la valeur nullune référence null (Nothing en Visual Basic) et que l'utilisateur a appelé une boîte de dialogue. | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Notes
Utilisez la classe DialogPropertyValueEditor pour afficher un éditeur inline qui peut être associé à un éditeur de boîtes de dialogue.
La classe DialogPropertyValueEditor peut contenir DataTemplate pour un éditeur de boîtes de dialogue ou la logique personnalisée appelée lorsque la boîte de dialogue est appelée.
Utilisez EditModeSwitchButton dans votre DataTemplate pour appeler la classe personnalisée DialogPropertyValueEditor.
Vous pouvez fournir un DataTemplate qui s'affiche dans une boîte de dialogue hôte ou substituer la méthode ShowDialog afin de pouvoir réutiliser des boîtes de dialogue existantes ou système.
La liste suivante affiche les règles permettant de déterminer si la méthode DataTemplate ou ShowDialog est utilisée.
Si la propriété DialogEditorTemplate n'a pas la valeur nullune référence null (Nothing en Visual Basic), ce DataTemplate est hébergé dans une boîte de dialogue spécifique de l'hôte, qui fournit la définition de style pour l'hôte. ShowDialog n'est pas appelé.
Si la propriété DialogEditorTemplate a la valeur nullune référence null (Nothing en Visual Basic), la méthode virtuelle ShowDialog est appelée et vous pouvez substituer cette méthode pour afficher une boîte de dialogue.
Exemples
L'exemple de code suivant indique comment créer un éditeur de valeurs de propriété de boîte de dialogue qui affiche une boîte de dialogue Ouvrir un fichier lorsque l'utilisateur clique sur une propriété FileName personnalisée dans la fenêtre Propriétés. Pour plus d'informations, consultez Comment : créer un éditeur de valeurs de propriété de boîte de dialogue.
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>
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.Windows.Design.PropertyEditing, espace de noms