DialogPropertyValueEditor-Klasse
Container für die gesamte Dialogfeld-Bearbeitungslogik für PropertyEntry-Objekte.
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Namespace: Microsoft.Windows.Design.PropertyEditing
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Syntax
'Declaration
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
Der DialogPropertyValueEditor-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
DialogPropertyValueEditor() | Initialisiert eine neue Instanz der DialogPropertyValueEditor-Klasse. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Initialisiert eine neue Instanz der DialogPropertyValueEditor-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
DialogEditorTemplate | Ruft die DataTemplate ab, die von einem hostspezifischen Dialogfeld gehostet wird und für die der DataContext auf einen PropertyValue festgelegt ist, oder legt diese fest. | |
InlineEditorTemplate | Ruft die für einen Inline-Editor verwendete DataTemplate ab oder legt diese fest. (Von PropertyValueEditor geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ShowDialog | Wird aufgerufen, wenn DialogEditorTemplatenullNULL-Verweis (Nothing in Visual Basic) ist, und vom Benutzer ein Dialogfeld aufgerufen wurde. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Verwenden Sie die DialogPropertyValueEditor-Klasse, um einen Inline-Editor anzuzeigen, der einen zugeordneten Dialogfeld-Editor aufweisen kann.
Die DialogPropertyValueEditor-Klasse kann entweder eine DataTemplate für einen Dialogfeld-Editor oder eine benutzerdefinierte Logik enthalten, die beim Aufrufen des Dialogfelds aufgerufen wird.
Verwenden Sie in der DataTemplate die EditModeSwitchButton, um die benutzerdefinierte DialogPropertyValueEditor-Klasse aufzurufen.
Sie können eine DataTemplate bereitstellen, die in einem Hostdialogfeld angezeigt wird, oder Sie können die ShowDialog-Methode überschreiben, wodurch Sie vorhandene Dialogfelder oder Systemdialogfelder wiederverwenden können.
Die folgende Liste zeigt die Regeln an, mit denen bestimmt wird, ob die DataTemplate- oder die ShowDialog-Methode verwendet wird.
Wenn die DialogEditorTemplate-Eigenschaft nicht nullNULL-Verweis (Nothing in Visual Basic) ist, wird diese DataTemplate in einem hostspezifischen Dialogfeld gehostet, das die Hostformatierung bereitstellt. Der ShowDialog wird nicht aufgerufen.
Wenn die DialogEditorTemplate-Eigenschaft nullNULL-Verweis (Nothing in Visual Basic) ist, wird die virtuelle ShowDialog-Methode aufgerufen, und Sie können diese Methode überschreiben, um ein beliebiges Dialogfeld anzuzeigen.
Beispiele
Das folgende Codebeispiel zeigt, wie Sie einen Eigenschaftswert-Editor für Dialogfelder erstellen, der ein Dialogfeld zum Öffnen einer Datei anzeigt, wenn im Fenster Eigenschaften auf eine benutzerdefinierte FileName-Eigenschaft geklickt wurde. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Eigenschaftswert-Editors für Dialogfelder.
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>
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design.PropertyEditing-Namespace