Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Windows presentation foundation with - MacDonald M.

MacDonald M. Windows presentation foundation with — Вильямс , 2008. — 928 c.
ISBN 978-5-8459-1429-3
Скачать (прямая ссылка): wpfwindowspresente2008.pdf
Предыдущая << 1 .. 92 93 94 95 96 97 < 98 > 99 100 101 102 103 104 .. 473 >> Следующая

Mouse.OverrideCursor = Cursors.Wait;
Чтобы отменить это переопределение, действующее в рамках всего приложения, присвойте свойству Mouse.OverrideCursor значение null.
И, наконец, WPF поддерживает использование специальных указателей. Вы можете применять как обычные файлы указателей .cur (по сути, это небольшие битовые образы), так и файлы анимационных указателей .ani. Чтобы использовать специальный указатель, нужно передать имя файла вашего указателя или поток вместе с данными указателя конструктору объекта Cursor:
Cursor customCursor = new Cursor(Path.Combine(applicationDir, "stopwatch.ani");
this.Cursor = customCursor;
Объект Cursor не поддерживает напрямую синтаксис URI, который позволяет другим элементам WPF (таким как Image) работать с файлами, хранящимися в скомпилированной сборке. Однако ничего не мешает добавить файл указателя в приложение в качестве ресурса, а затем извлечь его как поток, который можно будет использовать для создания объекта Cursor. Для этой цели предназначен метод Application.GetResourceStream() :
StreamResourcelnfo sri = Application.GetResourceStream( new Uri("stopwatch.ani", UriKind.Relative));
Cursor customCursor = new Cursor(sri.Stream);
this.Cursor = customCursor;
Этот код подразумевает, что вы добавили файл stopwatch.ani в ваш проект и присвоили параметру Build Action значение Resource. Эта технология будет подробно рассматриваться в главе 12.
Элементы управления содержимым
Как уже было сказано в главе 5, многие основные элементы управления WPF связаны с управлением содержимым. К их числу относятся такие элементы управления, как
Label, Button, CheckBox и RadioButton.
Book_Pro_WPF-2.mdb 197 19.05.2008 18:10:00
198 Глава 7
Метки
Простейшим элементом управления содержимым является Label — метка. Как и любой другой элемент управления содержимым, она принимает одиночную порцию содержимого, которую вы хотите поместить внутри нее. Отличительной чертой элемента Label является его поддержка мнемонических команд — клавиш быстрого доступа, которые передают фокус связанному элементу управления.
Для обеспечения поддержки этой функции элемент управления Label предлагает свойство Target. Чтобы задать это свойство, вам необходимо воспользоваться выражением привязки, которое будет указывать на другой элемент управления. Ниже показан синтаксис, который нужно использовать для этой цели:
<Label Target="{Binding ElementName=txtA}">Choose _A</Label>
<TextBox Name="txtA"></TextBox>
<Label Target="{Binding ElementName=txtB}">Choose _B</Label>
<TextBox Name="txtB"></TextBox>
Символ подчеркивания в тексте метки указывает на клавишу быстрого доступа. (Если вы действительно хотите, чтобы в метке отображался символ подчеркивания, нужно добавить два таких символа.) Все мнемонические команды работают при одновременном нажатии клавиши <Alt> и заданной вами клавиши быстрого доступа. Например, если в данном примере пользователь нажмет комбинацию <Alt+A>, то первая метка передаст фокус связанному элементу управления, которым в данном случае является txtA. Точно так же нажатие комбинации <Alt+B> приводит к передаче фокуса элементу управления txtB.
На заметку! Если вам доводилось программировать с использованием Windows Forms, то вы, наверное, применяли символ амперсанда (&) для обозначения клавиши быстрого доступа. В XAML для этой цели служит символ подчеркивания, поскольку символ амперсанда нельзя ввести в XML напрямую — вместо него нужно использовать неуклюжую комбинацию &amp;.
Обычно буквы клавиш быстрого доступа скрыты до тех пор, пока пользователь не нажмет <Alt>, после чего они отмечаются подчеркиванием (рис. 7.2). Однако это поведение зависит от параметров системы.
Рис. 7.2. Клавиши быстрого доступа в метке
Book_Pro_WPF-2.mdb 198
19.05.2008 18:10:00
Классические элементы управления
199
Совет. Если вам нужно лишь отображать содержимое, не поддерживая мнемонические команды, применяйте более облегченный элемент TextBlock. В отличие от элемента управления Label, TextBlock поддерживает перенос текста с помощью свойства TextWrapping.
Кнопки
WPF распознает три типа кнопок: Button, CheckBox и RadioButton. Все эти кнопки представляют собой элементы управления содержимым, являющимися наследниками класса ButtonBase.
Класс ButtonBase включает всего лишь несколько членов. Он определяет событие Click и добавляет поддержку команд, которые позволят подключить кнопки для высокоуровневых задач приложений (об этом мы будем говорить в главе 10). Наконец, класс ButtonBase добавляет свойство ClickMode, которое определяет, когда кнопка генерирует событие Click в ответ на действия мыши. Значением, используемым по умолчанию, является ClickMode.Release, которое означает, что событие Click будет сгенерировано при нажатии и отпускании кнопки мыши. Однако вы можете также сделать так, чтобы событие Click возникало при первом нажатии кнопки мыши (ClickMode.Press) или всякий раз, когда указатель мыши будет наведен на кнопку и задержан над ней (ClickMode.Hover).
На заметку! Все кнопки поддерживают клавиши доступа, которые работают подобно мнемоническим командам в элементе управления Label. Чтобы обозначить клавишу доступа, нужно добавить символ подчеркивания. Когда пользователь нажмет клавишу <Alt> и клавишу доступа, возникнет событие Click кнопки.
Предыдущая << 1 .. 92 93 94 95 96 97 < 98 > 99 100 101 102 103 104 .. 473 >> Следующая