Записи с меткой «C#»

Сортировка 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));

...

Вот и всё!

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

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

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

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

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

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

Первый:

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

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

События C#

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

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

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

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

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

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

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

ComboBox MaxDropDownItems в WPF

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

Фрагменты кода в Visual Studio 2010 (Snippet)

Visual Studio позволяет разработчикам сохранить фрагменты кода, которые могут использоватся позже. Это экономит время от перепечатывания кусков кода, которые часто используются. Я также вижу это очень полезно тогда, когда надо показать во время презентации код. Вместо того, чтобы все печатать, я считаю, что гораздо проще просто добавить код, используя фрагменты кода.

VS 2010 имеет улучшеный функционал, и она упрощает создание фрагментов кода. В ней есть два типа фрагментов:
Расширяемые фрагменты – вставлены в позицию курсора

  • Обтекаемые фрагменты вокруг выделенного кода
  • Создание собственного фрагмента

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

Работа с RadioButton в MVVM

Предлагаю Вашему вниманию пример того, как можно, используя шаблон проектирования Model View ViewModel, работать с такими контролами как RadioButton. Я пересмотрел немного примеров и этот мне понравился больше всего.
Итак, допустим, у нас есть форма, на которой есть 3 радио кнопки:

 


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

Преобразование между XDocument и XmlDocument, XElement и XmlElement

Вот класс, который обеспечит преобразование между System.Xml and System.Xml.Linq классами:
Прочитать остальную часть записи »