Рейтинг@Mail.ru

Как использовать UserControl в качестве шаблона для ListViewItem

Published in Полезные советы

Чтобы использовать собственный пользовательский элемент управления UserControl в качестве шаблона элемента ListViewItem или ListBoxItem, нужно следующее:

<ListBox ItemsSource="{Binding MyCollection}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <local:MyUserControl />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Здесь local – это пространство имён вашей сборки. Например: <xmlns:local="clr-namespace:MyApplication" />>.

При этом в MyUserControl не следует задавать контекст данных DataContext.

Читать далее...

Пример использования типа Lookup() в VB.NET

Published in Программирование

При хранении некоторых видов данных удобно использовать коллекции типа пара «ключ-значение» (тип KeyValuePair). В .NET для этого существует специальный тип Dictionary() – словарь, позволяющий хранить такие данные, добавлять и удалять данные в процессе выполнения программы, а также быстро и удобно извлекать их из словаря. Данные извлекаются по уникальному ключу. При попытке добавить значение с ключом, который уже существует в словаре, возникает исключение. Но что делать, если в реальных данных имеется ключ, которому соответствуют несколько разных значений? Для такого случая подойдёт тип Lookup(), работу с которым мы и рассмотрим далее.

Читать далее...

MethodNotFoundException в Dispatcher.Invoke() в .NET версии 3.5

Published in Полезные советы

В .NET версии 3.5 без установленного пакета обновления SP1 метод Dispatcher.Invoke() вызывает исключение MethodNotFoundException. При этом средство IntelliSence в Visual Studio показывает порядок аргументов, передаваемых методу: делегат, [параметры].

Чтобы не вызывать исключение, нужно передавать методу Dispatcher.Invoke() параметры в следующем порядке: приоритет операции, делегат, [параметры]. Например (код на VB.NET):

Dispatcher.Invoke(DispatcherPriority.Normal, 
New myDeleg(AddressOf MyDelegate))
Читать далее...

Реализация SPI с помощью микросхем фирмы FTDI

Published in Программирование

Рассматриваются основные этапы программной реализации работы в режиме последовательного интерфейса SPI микросхем семейств FT2xx и FT4xx фирмы FTDI. А также предлагается готовое бесплатное программное обеспечение, которое реализует этот режим (а также I2C, 1-Wire, uWire). С помощью данной программы можно читать (и записывать) информацию с множества датчиков и прочих устройств, которые работают по интерфейсам SPI, I2C, OneWire, MicroWire.

Читать далее...

Есть ли в .NET аналог инструкции "typedef" из языка Си?

Published in Полезные советы

Есть т.н. псевдонимы (alias). Это неполный аналог спецификатора typedef, но тем не менее.

Например, при импортировании какого-нибудь типа в языке VB.NET используется синтаксис:
Imports SomeAlias = SomeType
а в C#:
using SomeAlias = SomeType;

Читать далее...
Subscribe to this RSS feed