DialogPropertyValueEditor - класс
Контейнер для логики редактирования всех диалоговых окон для объектов PropertyEntry.
Иерархия наследования
System.Object
Microsoft.Windows.Design.PropertyEditing.PropertyValueEditor
Microsoft.Windows.Design.PropertyEditing.DialogPropertyValueEditor
Пространство имен: Microsoft.Windows.Design.PropertyEditing
Сборка: Microsoft.Windows.Design.Interaction (в Microsoft.Windows.Design.Interaction.dll)
Синтаксис
'Декларация
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
Тип DialogPropertyValueEditor предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
DialogPropertyValueEditor() | Инициализирует новый экземпляр класса DialogPropertyValueEditor. | |
DialogPropertyValueEditor(DataTemplate, DataTemplate) | Инициализирует новый экземпляр класса DialogPropertyValueEditor. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
DialogEditorTemplate | Получает или задает объект DataTemplate, который размещается в определяемом основным приложением диалоговом окне, и свойству DataContext которого присвоено значение PropertyValue. | |
InlineEditorTemplate | Получает или задает объект DataTemplate, который используется для встроенного редактора. (Унаследовано от PropertyValueEditor.) |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
Equals | Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.) | |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.) | |
GetHashCode | Играет роль хэш-функции для определенного типа. (Унаследовано от Object.) | |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) | |
MemberwiseClone | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) | |
ShowDialog | Вызывается при вызове диалогового окна пользователем, если свойство DialogEditorTemplate имеет значение nullпустая ссылка (Nothing в Visual Basic). | |
ToString | Возвращение строки, представляющей текущий объект. (Унаследовано от Object.) |
В начало страницы
Заметки
Чтобы отобразить встроенный редактор, с которым связан редактор диалоговых окон, используйте класс DialogPropertyValueEditor.
Класс DialogPropertyValueEditor может содержать объект DataTemplate для редактора диалоговых окон или пользовательскую логику, вызываемую при вызове диалогового окна.
Объект EditModeSwitchButton объекта DataTemplate используется для вызова пользовательского класса DialogPropertyValueEditor.
Можно предоставить объект DataTemplate, который отображается в диалоговом окне хост-приложения, или переопределить метод ShowDialog, который позволяет повторно использовать существующие или системные диалоговые окна.
В следующем списке представлены правила, по которым определяется использование объекта DataTemplate или метода ShowDialog.
Если свойство DialogEditorTemplate имеет отличное от nullпустая ссылка (Nothing в Visual Basic) значение, объект DataTemplate размещается в определяемом хост-приложением диалоговом окне, что обеспечивает оформление хост-приложения. Метод ShowDialog не вызывается.
Если свойство DialogEditorTemplate имеет значение nullпустая ссылка (Nothing в Visual Basic), вызывается виртуальный метод ShowDialog, который можно переопределить для отображения любого диалогового окна.
Примеры
В следующем примере показано, как создать редактор значений свойств диалогового окна, в котором отображается диалоговое окно открытия файла при выборе настраиваемого свойства FileName в окне "Свойства". Дополнительные сведения см. в разделе Практическое руководство. Создание редактора значений свойств диалогового окна.
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>
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Windows.Design.PropertyEditing - пространство имен