Рубрика «wpf» - 5

Доступ к данным MySQL из приложения UWP без использования сервисов - 1

В приложениях Windows Store и в приложениях UWP для доступа к хранящимся в сети базам данных необходимо использовать web-сервисы. Если вы используете базы данных Azure, то вы можете использовать такой сервис как Azure Mobile Apps

Давайте, я научу вас «плохому» и расскажу о том, как можно в приложении UWP получить доступ к данным из MySQL базы напрямую с помощью Connector/Net. Код будет идентичен и для .Net WPF приложений.

Доступ к данным MySQL из приложения UWP без использования сервисов - 2


Читать полностью »

История одного конфигурационного «зонтика» - 1
В этой статье я расскажу об опыте поставки и конфигурирования многочисленных взаимосвязанных продуктов (непричастные называют это просто «созданием инсталляторов»).

Итак, представьте разбросанный по нескольким серверам набор приложений: 12 штук. Приложения разнородные, разработаны разными компаниями в разное время. Реализованы различные методы интеграции от примитивных экспортов/импортов через файловую систему, до продвинутой на базе web-сервисов. Приложения используют базы данных SQL Server и Oracle. Все эти приложения работают в сотнях разных окружений конечных заказчиков.

Установить и сконфигурировать все это стоит немалых трудов и ресурсов. Хорошо, установили. А обновления, которые для бухгалтерских систем должны выпускаться в соответствии с изменениями в законодательстве? Масштабирование приложений? А новый функционал? Что насчет новых клиентов с их «особенными» конфигурациями? Вручную – дорого и долго, если у вас, скажем, 150 клиентов и хотя бы 2 обновления такого «монстра» в год.
Читать полностью »

В WPF существует три вида привязок: Binding, PriorityBinding и MultiBinding. Все три привязки наследуются от одного базового класса BindingBase. PriorityBinding и MultiBinding позволяют к одному свойству привязать несколько других привязок, например:

<MultiBinding Converter="{StaticResource JoinStringConverter}" ConverterParameter=" ">
    <Binding Path="FirstName" />
    <Binding Path="MiddleName" />
    <Binding Path="LastName" />
</MultiBinding>

Исходный код класса JoinStringConverter

public class JoinStringConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return string.Join(separator, values);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return (value as string)?.Split(new[] { separator }, StringSplitOptions.None).Cast<object>().ToArray();
    }
}

Список привязок MultiBinding-а — это коллекция типа Collection<BindingBase>. Логично было бы предположить, что внутри MultiBinding-а можно использовать еще один MultiBinding.
Читать полностью »

Проверяем исходный код WPF примеров от компании Infragistics - 1

Мы продолжаем проверять различные C#-проекты с целью демонстрации возможностей статического анализатора кода PVS-Studio. В этой статье мы рассмотрим результаты проверки WPF примеров от компании Infragistics. Сама компания Infragistics является глобальным поставщиком программного обеспечения, основанная в 1989 году. Компания сделала себе имя на разработке компонентов пользовательских интерфейсов для сторонних разработчиков на всех платформах, включая .NET.
Читать полностью »

Switch Converter заслуживает особенного внимания. Простой и удобный он обладает поразительной универсальностью. На его основе легко построить множество распространённых типов конвертеров без декларирования новых классов и не только… Не верится — добро пожаловать!
imageЧитать полностью »

Статья будет посвящена простому, но эффективному паттерну — Composite Converter [составной конвертер].
imageЧитать полностью »

Разберём интересный и нестандартный сценарий использования конвертеров — Inline Converter.
imageЧитать полностью »

В статье рассмотрим несколько полезных усовершенствований для контрола Grid.
image
Читать полностью »

Работа с Arduino из C# приложения - 1


В этой статье я хотел бы рассказать о том, как можно считывать данные и управлять платой Arduino, подключенной через USB порт, из .Net приложения и из приложения UWP.

Делать это можно без использования сторонних библиотек. Фактически, используя только виртуальный COM порт.
Читать полностью »

Существуют разные способы локализации WPF-приложения. Самый простой и распространенный вариант — использование файла ресурсов Resx и автоматически сгенерированный к ним Designer-класс. Но этот способ не позволяет менять значения «на лету» при смене языка. Для этого необходимо открыть окно повторно, либо перезапустить приложение.
В этой статье я покажу вариант локализации WPF-приложения с мгновенной сменой культуры.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js