Рейтинг@Mail.ru
aave

aave

Print Friendly, PDF & Email

Чтобы получить объект Window определённого типа, можно перебрать все активные окна приложения:

For Each wnd As Window In Application.Current.Windows
    If wnd.GetType.Equals(GetType(MyParentWindow)) Then
        parentWindow = CType(wnd, MyParentWindow)
        Exit For
    End If
Next
Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

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

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

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

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

Print Friendly, PDF & Email
Читать далее...

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

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

Print Friendly, PDF & Email

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

Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

Чтобы обработать неперехваченное исключение в приложение .NET, в основной модуль сборки, в процедуру загрузки главной формы приложения или в класс AppEvents.vb, добавим код:

Private Sub formLoading(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf onUnhandledException
End Sub

Собственно, сам обработчик исключения типа UnhandledException:

Private Sub onUnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
    MessageBox.Show(String.Format("Источник:{0}. Описание:{1}", sender, e.ExceptionObject), "Возникло необработанное исключение")
    '[Какая-то обработка...]'
End Sub

Теперь, при возникновении исключительной ситуации, которая не была обработана в коде приложения, она будет обработана в данной процедуре.

Print Friendly, PDF & Email
Читать далее...
Subscribe to this RSS feed