XamlHelper
Различные вспомогательные методы и методы расширения WPF для потоков пользовательского интерфейса, привязок, изображений, диалогов и преобразований типов.
Свойства
public static Dispatcher CurrentThreadDispatcher { get; }
value = XamlHelper.CurrentThreadDispatcher
Получает диспетчер, связанный с текущей нитью.
Методы
public static void CopyToClipboard<T>(T value)
XamlHelper.CopyToClipboard(value)
Копирует предоставленное значение в системный буфер обмена в потоке пользовательского интерфейса.
public static void DeleteHideable(Window window)
XamlHelper.DeleteHideable(window)
Удаляет ранее добавленное поведение скрытия при закрытии.
public static void EnsureUIThread(object obj)
XamlHelper.EnsureUIThread(obj)
Гарантирует, что текущий поток является потоком пользовательского интерфейса, и в противном случае выдает ошибку.
- obj
- Любой DispatcherObject, Dispatcher или другой объект, из которого можно сделать вывод о диспетчере.
public static void EnsureUIThread()
XamlHelper.EnsureUIThread()
Выдает, если текущий поток не является потоком пользовательского интерфейса.
public static T FindLogicalChild<T>(DependencyObject obj)
result = XamlHelper.FindLogicalChild(obj)
Выполняет поиск в логическом дереве в глубину и возвращает первого дочернего элемента указанного типа или значение NULL, если таковой не найден.
public static T FindLogicalParentOfType<T>(DependencyObject child)
result = XamlHelper.FindLogicalParentOfType(child)
Проходит вверх по логическому дереву и возвращает первого родительского элемента указанного типа или значение NULL, если ничего не найдено.
public static IEnumerable<T> FindVisualChilds<T>(DependencyObject obj)
result = XamlHelper.FindVisualChilds(obj)
Перечисляет все визуальные дочерние элементы указанного типа.
public static T FindVisualChild<T>(DependencyObject obj)
result = XamlHelper.FindVisualChild(obj)
Возвращает первый визуальный дочерний элемент указанного типа или значение NULL, если он не найден.
public static VerticalAlignment FromWpf(VerticalAlignment value)
result = XamlHelper.FromWpf(value)
Преобразуйте значение VerticalAlignment в VerticalAlignment.
- value
- VerticalAlignment значение.
Возвращает: VerticalAlignment значение.
public static PointF FromWpf(Point value)
result = XamlHelper.FromWpf(value)
Преобразуйте значение балла в PointF.
- value
- Стоимость балла.
Возвращает: PointF значение.
public static Brush FromWpf(Brush value)
result = XamlHelper.FromWpf(value)
Преобразуйте значение кисти в DrawingBrush.
- value
- Значение кисти.
Возвращает: DrawingBrush значение.
public static Color FromWpf(Color value)
result = XamlHelper.FromWpf(value)
Преобразование значения цвета в цвет.
- value
- Значение цвета.
Возвращает: Значение цвета.
public static HorizontalAlignment FromWpf(HorizontalAlignment value)
result = XamlHelper.FromWpf(value)
Преобразуйте значение HorizontalAlignment в HorizontalAlignment.
- value
- HorizontalAlignment значение.
Возвращает: HorizontalAlignment значение.
public static Thickness FromWpf(Thickness value)
result = XamlHelper.FromWpf(value)
Преобразуйте значение толщины в толщину.
- value
- Значение толщины.
Возвращает: Значение толщины.
public static Window GetActiveOrMainWindow(Application app)
result = XamlHelper.GetActiveOrMainWindow(app)
Возвращает активное окно или главное окно, если ни одно из них не активно.
public static Window GetActiveWindow(Application app)
result = XamlHelper.GetActiveWindow(app)
Возвращает первое активное окно или значение NULL, если оно не найдено.
public static IEnumerable<Window> GetActiveWindows(Application app)
result = XamlHelper.GetActiveWindows(app)
Возвращает все активные в данный момент окна в приложении.
public static ValueTuple<int, int> GetActualSize(FrameworkElement elem)
result = XamlHelper.GetActualSize(elem)
Возвращает элемент ActualWidth/ActualHeight в виде кортежа целых чисел.
public static Brush GetBrush(DrawingImage source)
result = XamlHelper.GetBrush(source)
Получает первую кисть, найденную на рисунке DrawingImage.
public static bool? GetDialogResult(DependencyObject obj)
result = XamlHelper.GetDialogResult(obj)
Свойство "bool?" DialogResult использовалось для установки Window.DialogResult из кнопки.
public static BitmapSource GetImage(FrameworkElement elem)
result = XamlHelper.GetImage(elem)
Преобразует FrameworkElement в растровое изображение, используя его текущий размер.
public static BitmapSource GetImage(Visual visual, ValueTuple<int, int> size)
result = XamlHelper.GetImage(visual, size)
Преобразует визуальный элемент в растровое изображение, используя указанную ширину и высоту.
public static BitmapSource GetImage(Visual visual, int width, int height)
result = XamlHelper.GetImage(visual, width, height)
Преобразует визуальный элемент в растровое изображение заданной ширины и высоты.
public static ImageSource GetImage(string iconKey, SolidColorBrush fill, SolidColorBrush stroke)
result = XamlHelper.GetImage(iconKey, fill, stroke)
Получает тематический значок SVG/Vector, цвет которого изменяется с помощью указанных кистей заливки и обводки.
public static IEnumerable<string> GetSystemFontFamilies()
result = XamlHelper.GetSystemFontFamilies()
Получите семейства системных шрифтов.
Возвращает: Семейства системных шрифтов.
public static Window GetWindow(DependencyObject obj)
result = XamlHelper.GetWindow(obj)
Получает окно владельца для указанного объекта.
public static void GuiAsync(Dispatcher dispatcher, Action action, DispatcherPriority priority)
XamlHelper.GuiAsync(dispatcher, action, priority)
Выполняет действие в потоке пользовательского интерфейса асинхронно с указанным приоритетом.
public static void GuiAsync(Dispatcher dispatcher, Action action)
XamlHelper.GuiAsync(dispatcher, action)
Выполняет действие в потоке пользовательского интерфейса асинхронно с обычным приоритетом.
public static void GuiAsync(DispatcherObject obj, Action action)
XamlHelper.GuiAsync(obj, action)
Выполняет действие в потоке пользовательского интерфейса асинхронно, используя Dispatcher объекта.
public static void GuiSync(Dispatcher dispatcher, Action action, DispatcherPriority priority)
XamlHelper.GuiSync(dispatcher, action, priority)
Выполняет действие синхронно на Диспетчере с указанным приоритетом.
public static void GuiSync(DispatcherObject obj, Action action)
XamlHelper.GuiSync(obj, action)
Выполняет действие синхронно в диспетчере объекта.
public static void GuiSync(Dispatcher dispatcher, Action action)
XamlHelper.GuiSync(dispatcher, action)
Выполняет действие синхронно на Диспетчере с обычным приоритетом.
public static T GuiSync<T>(Dispatcher dispatcher, Func<T> func)
result = XamlHelper.GuiSync(dispatcher, func)
Выполняет функцию синхронно в Диспетчере с обычным приоритетом и возвращает результат.
public static T GuiSync<T>(DispatcherObject obj, Func<T> func)
result = XamlHelper.GuiSync(obj, func)
Выполняет функцию синхронно в Dispatcher объекта и возвращает результат.
public static T GuiSync<T>(Dispatcher dispatcher, Func<T> func, DispatcherPriority priority)
result = XamlHelper.GuiSync(dispatcher, func, priority)
Выполняет функцию синхронно на Диспетчере с указанным приоритетом и возвращает результат.
public static Task GuiThreadGetAsync(Action<CancellationToken> action, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(action, token)
При необходимости вызывает указанное действие в потоке пользовательского интерфейса.
public static Task GuiThreadGetAsync(Func<CancellationToken, Task> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)
При необходимости вызывает предоставленное асинхронное действие в потоке пользовательского интерфейса.
public static Task<TResult> GuiThreadGetAsync<TResult>(Func<CancellationToken, TResult> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)
При необходимости вызывает предоставленную функцию в потоке пользовательского интерфейса и возвращает ее результат.
public static Task<TResult> GuiThreadGetAsync<TResult>(Func<CancellationToken, Task<TResult>> func, CancellationToken token)
result = XamlHelper.GuiThreadGetAsync(func, token)
При необходимости вызывает предоставленную асинхронную функцию в потоке пользовательского интерфейса и возвращает ее результат.
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
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
public static bool IsDesignMode(DependencyObject obj)
result = XamlHelper.IsDesignMode(obj)
Возвращает true, если работает в режиме разработки.
public static bool IsFontSupported(string familyName)
result = XamlHelper.IsFontSupported(familyName)
Определяет, поддерживается ли шрифт.
- familyName
- Фамилия шрифта.
Возвращает: Верно, если поддерживается; в противном случае ложь.
public static bool IsUI()
result = XamlHelper.IsUI()
Определяет, что текущий поток связан с Dispatcher.
Возвращает: Проверьте результат.
public static void LoadViewFromUri(Control control, string baseUri)
XamlHelper.LoadViewFromUri(control, baseUri)
Загружает представление XAML из указанного URI относительного пакета в элемент управления.
public static void MakeHideable(Window window)
XamlHelper.MakeHideable(window)
Перехватывает событие закрытия, чтобы скрыть окно вместо его закрытия.
public static SvgImage ReColor(SvgImage orig, Color? stroke, Color? fill)
result = XamlHelper.ReColor(orig, stroke, fill)
Измените цвета обводки/заливки изображения SVG. Оригинал не изменен.
public static void SaveImage(BitmapSource image, Stream file)
XamlHelper.SaveImage(image, file)
Сохраняет растровое изображение в предоставленный поток в формате PNG.
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)
Применяет простую одинарную привязку к указанному свойству зависимостей.
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.
public static void SetDialogResult(DependencyObject obj, bool? value)
XamlHelper.SetDialogResult(obj, value)
Устанавливает прикрепленное значение DialogResult для кнопки.
public static void SetMultiBinding(DependencyObject obj, DependencyProperty prop, IMultiValueConverter conv, Binding[] bindings)
XamlHelper.SetMultiBinding(obj, prop, conv, bindings)
Создает MultiBinding с предоставленными привязками и преобразователем и применяет его к указанному свойству.
public static bool ShowModal(CommonDialog dlg, Window owner)
result = XamlHelper.ShowModal(dlg, owner)
Показывает CommonDialog как модальное с указанным окном владельца.
public static bool ShowModal(CommonDialog dlg, DependencyObject obj)
result = XamlHelper.ShowModal(dlg, obj)
Показывает CommonDialog как модальное, используя объект-владелец для разрешения окна владельца.
public static bool ShowModal(Window wnd, Window owner)
result = XamlHelper.ShowModal(wnd, owner)
Показывает окно как модальное с указанным владельцем.
public static bool ShowModal(Window wnd, DependencyObject obj)
result = XamlHelper.ShowModal(wnd, obj)
Показывает окно как модальное, используя объект-владелец для разрешения окна владельца.
public static bool ShowModal(Window wnd)
result = XamlHelper.ShowModal(wnd)
Показывает окно как модальное, используя Application.Current.MainWindow в качестве владельца, если оно доступно.
public static bool ShowModel<TWindow>(object model, DependencyObject owner)
result = XamlHelper.ShowModel(model, owner)
Создает и отображает модальное окно типа TWindow с DataContext, установленным для предоставленной модели.
public static BitmapImage ToBitmapImage(Stream streamSource, BitmapCreateOptions options, BitmapCacheOption cache, bool freeze)
result = XamlHelper.ToBitmapImage(streamSource, options, cache, freeze)
Создает BitmapImage из потока с дополнительными параметрами инициализации.
public static Color ToColor(int color)
result = XamlHelper.ToColor(color)
Преобразует ARGB int в цвет.
public static int ToInt(Color color)
result = XamlHelper.ToInt(color)
Преобразует цвет в ARGB int.
public static ImageSource ToSvg(Stream stream)
result = XamlHelper.ToSvg(stream)
Преобразование потока в изображение SVG.
- stream
- поток
Возвращает: SVG-изображение.
public static Color ToTransparent(Color color, byte alpha)
result = XamlHelper.ToTransparent(color, alpha)
Возвращает копию цвета с указанным альфа-каналом.
public static VerticalAlignment ToWpf(VerticalAlignment value)
result = XamlHelper.ToWpf(value)
Преобразуйте значение VerticalAlignment в VerticalAlignment.
- value
- VerticalAlignment значение.
Возвращает: VerticalAlignment значение.
public static HorizontalAlignment ToWpf(HorizontalAlignment value)
result = XamlHelper.ToWpf(value)
Преобразуйте значение HorizontalAlignment в HorizontalAlignment.
- value
- HorizontalAlignment значение.
Возвращает: HorizontalAlignment значение.
public static Thickness ToWpf(Thickness value)
result = XamlHelper.ToWpf(value)
Преобразуйте значение толщины в толщину.
- value
- Значение толщины.
Возвращает: Значение толщины.
public static Point ToWpf(PointF value)
result = XamlHelper.ToWpf(value)
Преобразуйте значение PointF в точку.
- value
- PointF значение.
Возвращает: Стоимость балла.
public static Brush ToWpf(Brush value)
result = XamlHelper.ToWpf(value)
Преобразуйте значение DrawingBrush в кисть.
- value
- DrawingBrush значение.
Возвращает: Значение кисти.
public static Color ToWpf(Color value)
result = XamlHelper.ToWpf(value)
Преобразование значения цвета в цвет.
- value
- Значение цвета.
Возвращает: Значение цвета.
public static void TryOpenLink(string url, DependencyObject owner)
XamlHelper.TryOpenLink(url, owner)
Попробуйте открыть указанную ссылку. В случае неудачи копирует URL-адрес в буфер обмена и отображает сообщение об ошибке.
- url
- Ссылка.
- owner
- Владелец потока пользовательского интерфейса.
public static bool TryOpenWithInitialDir(DXFileDialog dlg, DependencyObject owner, string ctrlName)
result = XamlHelper.TryOpenWithInitialDir(dlg, owner, ctrlName)
Открывает диалоговое окно файла, используя последний использованный каталог (если доступен), и сохраняет выбранный каталог при закрытии.
public static bool TryOpenWithInitialDir(DXFolderBrowserDialog dlg, DependencyObject owner, string ctrlName)
result = XamlHelper.TryOpenWithInitialDir(dlg, owner, ctrlName)
Открывает диалоговое окно браузера папок, используя последний использовавшийся каталог (если доступен), и сохраняет выбранный каталог при закрытии.
public static void UpdateBrush(DrawingImage source, Brush brush)
XamlHelper.UpdateBrush(source, brush)
Обновляет все кисти внутри изображения рисунка до указанной кисти.
public static void UpdatePen(DrawingImage source, Pen pen)
XamlHelper.UpdatePen(source, pen)
Обновляет все перья внутри изображения рисунка до указанного пера.
public static ImageSource Url2Img(Uri uri)
result = XamlHelper.Url2Img(uri)
Создает ImageSource из пакета или http(s) URI. Поддерживает SVG через DevExpress.
public static T WpfCast<T>(object value)
result = XamlHelper.WpfCast(value)
Приведение значения к указанному типу.
- value
- Исходное значение.
Возвращает: Кастовое значение.
Поля
public static readonly DependencyProperty DialogResultProperty
value = XamlHelper.DialogResultProperty
Прикрепленное свойство, которое подключает кнопку для установки окна-владельца DialogResult при нажатии.
public static readonly ICommand DisabledCommand
value = XamlHelper.DisabledCommand
Отключена команда, возвращающая false из CanExecute и выдающая ошибку при выполнении.