Ввод дробных числа с запятой вместо точки в DataGrid WPF и других контролах

Способ работает в любых контролах ввода текста, разберёмся на примере DataGrid. По умолчанию DataGrid не даст ввести дробное число «по-русски», то есть, формата «123,45», в ячейку с прибинденным значением типа float, decimal и т. п. Это происходит потому, что русскоязычный формат разделителя не соответствует формату «по умолчанию», то есть, разделитель точка.
Читать далее «Ввод дробных числа с запятой вместо точки в DataGrid WPF и других контролах»

Добавим таймер во ViewModel

Сегодня мы разберёмся с тем, как заставить программу, написанную с применением MVVM, самостоятельно и в реальном времени обновлять данные, с которыми взаимодействует View. Основная проблема заключается в том, что таймеры из System.Windows и System.Threading создают отдельные потоки в фоне, что вызывает исключение при попытке изменения отслеживающих обновление свойств, которые связаны с UI.
Читать далее «Добавим таймер во ViewModel»

Запуск приложения от имени администратора с технологией ClickOnce

Сегодня мы рассмотрим способ, который позволит приложению ClickOnce запускаться от имени администратора. Дело в том, что если мы воспользуемся обычной правкой манифеста <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />, то программа не скомпилируется и выдаст ошибку: «ClickOnce не поддерживает уровень выполнения запроса «requireAdministrator»». Чтобы реализовать запуск программы от имени администратора и, при этом, продолжить использовать ClickOnce, мы будем манипулировать процессами при старте программы. В статье описан способ как для Windows Forms, так и для WPF.
Читать далее «Запуск приложения от имени администратора с технологией ClickOnce»

Защита программы от множественного запуска

Поскольку создание приложения для Windows Forms и WPF отличается, в статье рассмотрим оба варианта.

Читать далее «Защита программы от множественного запуска»

Пара ключ-значение для ComboBox (WinForms)

В этой статье мы рассматриваем вариант для Windows Forms. Решение для WPF здесь.

После семи лет работы с PHP/JS/HTML я начал переходить в C# и первым удивлением для меня стало отсутствие быстрого решения вопроса выпадающих списков. В HTML/PHP это всё красиво. Пишем в атрибут value идентификатор, в содержимое тега — текст.

Читать далее «Пара ключ-значение для ComboBox (WinForms)»

ID значения в TreeView, поиск TreeNode по ключу

По умолчанию в коллекции TreeView есть только значение и индекс, который автоматически генерируется системой. При этом, создать коллекцию, как в ComboBox, тоже не получится. В этой статье мы рассмотрим возможность присвоения ключа, а также легкий способ его найти.
Читать далее «ID значения в TreeView, поиск TreeNode по ключу»