Команды событий мыши для MVVM

Если Вы когда нибудь хотели использовать MouseEventArgs в ViewModel, вот способ это сделать:

Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Сортировка ObservableCollection с помощью LINQ

Способ соритровки коллекции ObservableCollection

...

ObservableCollection<string> _animals = new ObservableCollection<string>()
{ "Cat", "Dog", "Bear", "Lion", "Mouse",
"Horse", "Rat", "Elephant", "Kangaroo", "Lizard",
"Snake", "Frog", "Fish", "Butterfly", "Human",
"Cow", "Bumble Bee"};

_animals = new ObservableCollection<string>(_animals.OrderBy(i => i));

...

Вот и всё!

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Подсветка элементов в ListBox

ListBox часто используемый конрол для отображения разообразных списков. Для отображения ифнормации разработчики пользуются шаблонами отображения данных (DataTemplate). Пусть у нас есть ListBox с заполнеными данными:
Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Динамический выбор шаблона DataTemplateSelector

Бывает ситуация, когда заранее не знаеш, какой шаблон необходимо подключить. Для этого WPF предусматривает DataTemplateSelector. Давайте на примере посмротрим, как всё это работает.
Создадим простое WPF приложение. Разместим на форме ComboBox и ContentPresenter:
Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Обновление списков с помощью LINQ

Столкнулся с задачей обновления значение в одном списке, если такое же значение есть в другом списке.
Допустим, у нас есть два класса:

Первый:

class First
{
  public int Id;
  public string Name;
  public bool IsSelected;
}

Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

События C#

   В следующем примере показано как объявить и инициировать событие, использующее EventHandler в качестве базового типа делегата. Публикация событий, соответствующих рекомендациям .NET Framework:
Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

Изменение языка раскладки клавиатуры в WPF

InputLanguageManger предоставляет возможности для управления языками ввода в Windows Presentation Foundation (WPF). С его помощью можно очень просто изменить язык ввода текстового поля:

try
{
    InputLanguageManager.SetInputLanguage
          (tbInput, CultureInfo.CreateSpecificCulture("en"));
}
catch { }

Или же можно изменить в XAML

<TextBox x:Name="tbInput" InputLanguageManager.InputLanguage="ru-RU" />

Всё очень просто…

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

ObservableCollection IndexOf

Как то раз, необходимо было выяснить, содержит ли коллекция ObservableCollection элемент. Благо, у ObservableCollection есть метод IndexOf который возвращает индекс элемента, если он есть в коллекции. Но не всё так гладко. Рассмотрим пример ниже:
Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

StringFormat атрибут

WPF предоставляет возможность задать формат выводимого значения прямо в XAML, без необходимости форматирования значения в коде. В .NET 3.5 появился новый атрибут, который позволяет это сделать – StringFormat

Отображение double в currency

<TextBlock Text="{Binding DoubleValue, StringFormat={}{0:C}}" />

Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир

ComboBox MaxDropDownItems в WPF

В Windows Forms у элемента управления ComboBox есть свойство MaxDropDownItems, которое позволяет задавать количество элементов отображаемых в выпадающем списке. К сожалению, разработчики WPF не реализовали это свойство. Но, к счастью, они создали новый инструмент, который позволяет это сделать: присоединяемые свойства зависимости. То, что мы сейчас будем делать, возможно только для выпадающих списков, высота элементов которых одинакова.
Прочитать остальную часть записи »

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Google Buzz
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в Мой Мир