XamlHelper

Ecng.Xaml

Различные вспомогательные методы и методы расширения WPF для потоков пользовательского интерфейса, привязок, изображений, диалогов и преобразований типов.

Свойства

CurrentThreadDispatcher
public static Dispatcher CurrentThreadDispatcher { get; }
value = XamlHelper.CurrentThreadDispatcher

Получает диспетчер, связанный с текущей нитью.

Методы

CopyToClipboard``1
public static void CopyToClipboard<T>(T value)
XamlHelper.CopyToClipboard(value)

Копирует предоставленное значение в системный буфер обмена в потоке пользовательского интерфейса.

DeleteHideable
public static void DeleteHideable(Window window)
XamlHelper.DeleteHideable(window)

Удаляет ранее добавленное поведение скрытия при закрытии.

EnsureUIThread
public static void EnsureUIThread(object obj)
XamlHelper.EnsureUIThread(obj)

Гарантирует, что текущий поток является потоком пользовательского интерфейса, и в противном случае выдает ошибку.

obj
Любой DispatcherObject, Dispatcher или другой объект, из которого можно сделать вывод о диспетчере.
EnsureUIThread
public static void EnsureUIThread()
XamlHelper.EnsureUIThread()

Выдает, если текущий поток не является потоком пользовательского интерфейса.

FindLogicalChild``1
public static T FindLogicalChild<T>(DependencyObject obj)
result = XamlHelper.FindLogicalChild(obj)

Выполняет поиск в логическом дереве в глубину и возвращает первого дочернего элемента указанного типа или значение NULL, если таковой не найден.

FindLogicalParentOfType``1
public static T FindLogicalParentOfType<T>(DependencyObject child)
result = XamlHelper.FindLogicalParentOfType(child)

Проходит вверх по логическому дереву и возвращает первого родительского элемента указанного типа или значение NULL, если ничего не найдено.

FindVisualChilds``1
public static IEnumerable<T> FindVisualChilds<T>(DependencyObject obj)
result = XamlHelper.FindVisualChilds(obj)

Перечисляет все визуальные дочерние элементы указанного типа.

FindVisualChild``1
public static T FindVisualChild<T>(DependencyObject obj)
result = XamlHelper.FindVisualChild(obj)

Возвращает первый визуальный дочерний элемент указанного типа или значение NULL, если он не найден.

FromWpf
public static VerticalAlignment FromWpf(VerticalAlignment value)
result = XamlHelper.FromWpf(value)

Преобразуйте значение VerticalAlignment в VerticalAlignment.

value
VerticalAlignment значение.

Возвращает: VerticalAlignment значение.

FromWpf
public static PointF FromWpf(Point value)
result = XamlHelper.FromWpf(value)

Преобразуйте значение балла в PointF.

value
Стоимость балла.

Возвращает: PointF значение.

FromWpf
public static Brush FromWpf(Brush value)
result = XamlHelper.FromWpf(value)

Преобразуйте значение кисти в DrawingBrush.

value
Значение кисти.

Возвращает: DrawingBrush значение.

FromWpf
public static Color FromWpf(Color value)
result = XamlHelper.FromWpf(value)

Преобразование значения цвета в цвет.

value
Значение цвета.

Возвращает: Значение цвета.

FromWpf
public static HorizontalAlignment FromWpf(HorizontalAlignment value)
result = XamlHelper.FromWpf(value)

Преобразуйте значение HorizontalAlignment в HorizontalAlignment.

value
HorizontalAlignment значение.

Возвращает: HorizontalAlignment значение.

FromWpf
public static Thickness FromWpf(Thickness value)
result = XamlHelper.FromWpf(value)

Преобразуйте значение толщины в толщину.

value
Значение толщины.

Возвращает: Значение толщины.

GetActiveOrMainWindow
public static Window GetActiveOrMainWindow(Application app)
result = XamlHelper.GetActiveOrMainWindow(app)

Возвращает активное окно или главное окно, если ни одно из них не активно.

GetActiveWindow
public static Window GetActiveWindow(Application app)
result = XamlHelper.GetActiveWindow(app)

Возвращает первое активное окно или значение NULL, если оно не найдено.

GetActiveWindows
public static IEnumerable<Window> GetActiveWindows(Application app)
result = XamlHelper.GetActiveWindows(app)

Возвращает все активные в данный момент окна в приложении.

GetActualSize
public static ValueTuple<int, int> GetActualSize(FrameworkElement elem)
result = XamlHelper.GetActualSize(elem)

Возвращает элемент ActualWidth/ActualHeight в виде кортежа целых чисел.

GetBrush
public static Brush GetBrush(DrawingImage source)
result = XamlHelper.GetBrush(source)

Получает первую кисть, найденную на рисунке DrawingImage.

GetDialogResult
public static bool? GetDialogResult(DependencyObject obj)
result = XamlHelper.GetDialogResult(obj)

Свойство "bool?" DialogResult использовалось для установки Window.DialogResult из кнопки.

GetImage
public static BitmapSource GetImage(FrameworkElement elem)
result = XamlHelper.GetImage(elem)

Преобразует FrameworkElement в растровое изображение, используя его текущий размер.

GetImage
public static BitmapSource GetImage(Visual visual, ValueTuple<int, int> size)
result = XamlHelper.GetImage(visual, size)

Преобразует визуальный элемент в растровое изображение, используя указанную ширину и высоту.

GetImage
public static BitmapSource GetImage(Visual visual, int width, int height)
result = XamlHelper.GetImage(visual, width, height)

Преобразует визуальный элемент в растровое изображение заданной ширины и высоты.

GetImage
public static ImageSource GetImage(string iconKey, SolidColorBrush fill, SolidColorBrush stroke)
result = XamlHelper.GetImage(iconKey, fill, stroke)

Получает тематический значок SVG/Vector, цвет которого изменяется с помощью указанных кистей заливки и обводки.

GetSystemFontFamilies
public static IEnumerable<string> GetSystemFontFamilies()
result = XamlHelper.GetSystemFontFamilies()

Получите семейства системных шрифтов.

Возвращает: Семейства системных шрифтов.

GetWindow
public static Window GetWindow(DependencyObject obj)
result = XamlHelper.GetWindow(obj)

Получает окно владельца для указанного объекта.

GuiAsync
public static void GuiAsync(Dispatcher dispatcher, Action action, DispatcherPriority priority)
XamlHelper.GuiAsync(dispatcher, action, priority)

Выполняет действие в потоке пользовательского интерфейса асинхронно с указанным приоритетом.

GuiAsync
public static void GuiAsync(Dispatcher dispatcher, Action action)
XamlHelper.GuiAsync(dispatcher, action)

Выполняет действие в потоке пользовательского интерфейса асинхронно с обычным приоритетом.

GuiAsync
public static void GuiAsync(DispatcherObject obj, Action action)
XamlHelper.GuiAsync(obj, action)

Выполняет действие в потоке пользовательского интерфейса асинхронно, используя Dispatcher объекта.

GuiSync
public static void GuiSync(Dispatcher dispatcher, Action action, DispatcherPriority priority)
XamlHelper.GuiSync(dispatcher, action, priority)

Выполняет действие синхронно на Диспетчере с указанным приоритетом.

GuiSync
public static void GuiSync(DispatcherObject obj, Action action)
XamlHelper.GuiSync(obj, action)

Выполняет действие синхронно в диспетчере объекта.

GuiSync
public static void GuiSync(Dispatcher dispatcher, Action action)
XamlHelper.GuiSync(dispatcher, action)

Выполняет действие синхронно на Диспетчере с обычным приоритетом.

GuiSync``1
public static T GuiSync<T>(Dispatcher dispatcher, Func<T> func)
result = XamlHelper.GuiSync(dispatcher, func)

Выполняет функцию синхронно в Диспетчере с обычным приоритетом и возвращает результат.

GuiSync``1
public static T GuiSync<T>(DispatcherObject obj, Func<T> func)
result = XamlHelper.GuiSync(obj, func)

Выполняет функцию синхронно в Dispatcher объекта и возвращает результат.

GuiSync``1
public static T GuiSync<T>(Dispatcher dispatcher, Func<T> func, DispatcherPriority priority)
result = XamlHelper.GuiSync(dispatcher, func, priority)

Выполняет функцию синхронно на Диспетчере с указанным приоритетом и возвращает результат.

GuiThreadGetAsync
public static Task GuiThreadGetAsync(Action<CancellationToken> action, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(action, token)

При необходимости вызывает указанное действие в потоке пользовательского интерфейса.

GuiThreadGetAsync
public static Task GuiThreadGetAsync(Func<CancellationToken, Task> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)

При необходимости вызывает предоставленное асинхронное действие в потоке пользовательского интерфейса.

GuiThreadGetAsync``1
public static Task<TResult> GuiThreadGetAsync<TResult>(Func<CancellationToken, TResult> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)

При необходимости вызывает предоставленную функцию в потоке пользовательского интерфейса и возвращает ее результат.

GuiThreadGetAsync``1
public static Task<TResult> GuiThreadGetAsync<TResult>(Func<CancellationToken, Task<TResult>> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)

При необходимости вызывает предоставленную асинхронную функцию в потоке пользовательского интерфейса и возвращает ее результат.

InvokeAsync
public static DispatcherOperation InvokeAsync(DependencyObject obj, Action action, DispatcherPriority priority, CancellationToken cancellationToken)
result = XamlHelper.InvokeAsync(obj, action, priority, cancellationToken)

При необходимости вызывает предоставленную функцию в потоке пользовательского интерфейса.

obj
Объект зависимости, из которого нужно получить Dispatcher.
action
Функция для вызова.
priority
DispatcherPriority
cancellationToken
CancellationToken

Возвращает: DispatcherOperation

InvokeAsync``1
public static DispatcherOperation<T> InvokeAsync<T>(DependencyObject obj, Func<T> action, DispatcherPriority priority, CancellationToken cancellationToken)
result = XamlHelper.InvokeAsync(obj, action, priority, cancellationToken)

При необходимости вызывает предоставленную функцию в потоке пользовательского интерфейса и возвращает ее результат.

obj
Объект зависимости, из которого нужно получить Dispatcher.
action
Функция для вызова.
priority
DispatcherPriority
cancellationToken
CancellationToken

Возвращает: DispatcherOperation

IsDesignMode
public static bool IsDesignMode(DependencyObject obj)
result = XamlHelper.IsDesignMode(obj)

Возвращает true, если работает в режиме разработки.

IsFontSupported
public static bool IsFontSupported(string familyName)
result = XamlHelper.IsFontSupported(familyName)

Определяет, поддерживается ли шрифт.

familyName
Фамилия шрифта.

Возвращает: Верно, если поддерживается; в противном случае ложь.

IsUI
public static bool IsUI()
result = XamlHelper.IsUI()

Определяет, что текущий поток связан с Dispatcher.

Возвращает: Проверьте результат.

LoadViewFromUri
public static void LoadViewFromUri(Control control, string baseUri)
XamlHelper.LoadViewFromUri(control, baseUri)

Загружает представление XAML из указанного URI относительного пакета в элемент управления.

MakeHideable
public static void MakeHideable(Window window)
XamlHelper.MakeHideable(window)

Перехватывает событие закрытия, чтобы скрыть окно вместо его закрытия.

ReColor
public static SvgImage ReColor(SvgImage orig, Color? stroke, Color? fill)
result = XamlHelper.ReColor(orig, stroke, fill)

Измените цвета обводки/заливки изображения SVG. Оригинал не изменен.

SaveImage
public static void SaveImage(BitmapSource image, Stream file)
XamlHelper.SaveImage(image, file)

Сохраняет растровое изображение в предоставленный поток в формате PNG.

SetBindings
public static void SetBindings(DependencyObject obj, DependencyProperty property, object dataObject, string path, BindingMode mode, IValueConverter converter, object parameter)
XamlHelper.SetBindings(obj, property, dataObject, path, mode, converter, parameter)

Применяет простую одинарную привязку к указанному свойству зависимостей.

SetBindings
public static void SetBindings(DependencyObject obj, DependencyProperty property, object dataObject, PropertyPath path, BindingMode mode, IValueConverter converter, object parameter)
XamlHelper.SetBindings(obj, property, dataObject, path, mode, converter, parameter)

Применяет простую одинарную привязку к указанному свойству зависимостей с помощью PropertyPath.

SetDialogResult
public static void SetDialogResult(DependencyObject obj, bool? value)
XamlHelper.SetDialogResult(obj, value)

Устанавливает прикрепленное значение DialogResult для кнопки.

SetMultiBinding
public static void SetMultiBinding(DependencyObject obj, DependencyProperty prop, IMultiValueConverter conv, Binding[] bindings)
XamlHelper.SetMultiBinding(obj, prop, conv, bindings)

Создает MultiBinding с предоставленными привязками и преобразователем и применяет его к указанному свойству.

ShowModal
public static bool ShowModal(CommonDialog dlg, Window owner)
result = XamlHelper.ShowModal(dlg, owner)

Показывает CommonDialog как модальное с указанным окном владельца.

ShowModal
public static bool ShowModal(CommonDialog dlg, DependencyObject obj)
result = XamlHelper.ShowModal(dlg, obj)

Показывает CommonDialog как модальное, используя объект-владелец для разрешения окна владельца.

ShowModal
public static bool ShowModal(Window wnd, Window owner)
result = XamlHelper.ShowModal(wnd, owner)

Показывает окно как модальное с указанным владельцем.

ShowModal
public static bool ShowModal(Window wnd, DependencyObject obj)
result = XamlHelper.ShowModal(wnd, obj)

Показывает окно как модальное, используя объект-владелец для разрешения окна владельца.

ShowModal
public static bool ShowModal(Window wnd)
result = XamlHelper.ShowModal(wnd)

Показывает окно как модальное, используя Application.Current.MainWindow в качестве владельца, если оно доступно.

ShowModel``1
public static bool ShowModel<TWindow>(object model, DependencyObject owner)
result = XamlHelper.ShowModel(model, owner)

Создает и отображает модальное окно типа TWindow с DataContext, установленным для предоставленной модели.

ToBitmapImage
public static BitmapImage ToBitmapImage(Stream streamSource, BitmapCreateOptions options, BitmapCacheOption cache, bool freeze)
result = XamlHelper.ToBitmapImage(streamSource, options, cache, freeze)

Создает BitmapImage из потока с дополнительными параметрами инициализации.

ToColor
public static Color ToColor(int color)
result = XamlHelper.ToColor(color)

Преобразует ARGB int в цвет.

ToInt
public static int ToInt(Color color)
result = XamlHelper.ToInt(color)

Преобразует цвет в ARGB int.

ToSvg
public static ImageSource ToSvg(Stream stream)
result = XamlHelper.ToSvg(stream)

Преобразование потока в изображение SVG.

stream
поток

Возвращает: SVG-изображение.

ToTransparent
public static Color ToTransparent(Color color, byte alpha)
result = XamlHelper.ToTransparent(color, alpha)

Возвращает копию цвета с указанным альфа-каналом.

ToWpf
public static VerticalAlignment ToWpf(VerticalAlignment value)
result = XamlHelper.ToWpf(value)

Преобразуйте значение VerticalAlignment в VerticalAlignment.

value
VerticalAlignment значение.

Возвращает: VerticalAlignment значение.

ToWpf
public static HorizontalAlignment ToWpf(HorizontalAlignment value)
result = XamlHelper.ToWpf(value)

Преобразуйте значение HorizontalAlignment в HorizontalAlignment.

value
HorizontalAlignment значение.

Возвращает: HorizontalAlignment значение.

ToWpf
public static Thickness ToWpf(Thickness value)
result = XamlHelper.ToWpf(value)

Преобразуйте значение толщины в толщину.

value
Значение толщины.

Возвращает: Значение толщины.

ToWpf
public static Point ToWpf(PointF value)
result = XamlHelper.ToWpf(value)

Преобразуйте значение PointF в точку.

value
PointF значение.

Возвращает: Стоимость балла.

ToWpf
public static Brush ToWpf(Brush value)
result = XamlHelper.ToWpf(value)

Преобразуйте значение DrawingBrush в кисть.

value
DrawingBrush значение.

Возвращает: Значение кисти.

ToWpf
public static Color ToWpf(Color value)
result = XamlHelper.ToWpf(value)

Преобразование значения цвета в цвет.

value
Значение цвета.

Возвращает: Значение цвета.

TryOpenWithInitialDir
public static bool TryOpenWithInitialDir(DXFileDialog dlg, DependencyObject owner, string ctrlName)
result = XamlHelper.TryOpenWithInitialDir(dlg, owner, ctrlName)

Открывает диалоговое окно файла, используя последний использованный каталог (если доступен), и сохраняет выбранный каталог при закрытии.

TryOpenWithInitialDir
public static bool TryOpenWithInitialDir(DXFolderBrowserDialog dlg, DependencyObject owner, string ctrlName)
result = XamlHelper.TryOpenWithInitialDir(dlg, owner, ctrlName)

Открывает диалоговое окно браузера папок, используя последний использовавшийся каталог (если доступен), и сохраняет выбранный каталог при закрытии.

UpdateBrush
public static void UpdateBrush(DrawingImage source, Brush brush)
XamlHelper.UpdateBrush(source, brush)

Обновляет все кисти внутри изображения рисунка до указанной кисти.

UpdatePen
public static void UpdatePen(DrawingImage source, Pen pen)
XamlHelper.UpdatePen(source, pen)

Обновляет все перья внутри изображения рисунка до указанного пера.

Url2Img
public static ImageSource Url2Img(Uri uri)
result = XamlHelper.Url2Img(uri)

Создает ImageSource из пакета или http(s) URI. Поддерживает SVG через DevExpress.

WpfCast``1
public static T WpfCast<T>(object value)
result = XamlHelper.WpfCast(value)

Приведение значения к указанному типу.

value
Исходное значение.

Возвращает: Кастовое значение.

Поля

DialogResultProperty
public static readonly DependencyProperty DialogResultProperty
value = XamlHelper.DialogResultProperty

Прикрепленное свойство, которое подключает кнопку для установки окна-владельца DialogResult при нажатии.

DisabledCommand
public static readonly ICommand DisabledCommand
value = XamlHelper.DisabledCommand

Отключена команда, возвращающая false из CanExecute и выдающая ошибку при выполнении.