Разработка пользовательского интерфейса на основе технологии Windows Presentation Foundation. Михаил Абрамян

Читать онлайн.



Скачать книгу

представления различных объектов, отформатированные требуемым образом. Первым параметром данного метода является форматная строка, содержащая как обычный текст, так и форматные настройки для остальных параметров (количество подобных форматируемых параметров может быть произвольным). Форматные настройки заключаются в фигурные скобки {}; в нашем случае использованы простейшие форматные настройки, в которых задается только порядковый номер параметра, выводимого в указанной позиции форматной строки (в подобной простейшей ситуации для форматирования данного параметра автоматически вызывается его метод ToString). Параметры нумеруются от 0.

      В версии C# 6.0, используемой в Visual Studio 2015, для формирования строк с различными «внешними» параметрами вместо метода Format удобнее применять так называемые интерполированные строки. В интерполированной строке перед открывающей ее двойной кавычкой указывается символ $; а параметры задаются в ней в фигурных скобках. С использованием интерполированной строки оператор задания текста метки в режиме секундомера можно представить в следующем виде:

screen_image_68_480_45

      Таким образом, интерполированная строка представляет собой форматную строку метода Format, в которой вместо порядкового номера выводимого параметра указывается сам этот параметр.

      Недочет. При изменении режима изменяется ширина окна, «подстраиваясь» под текущий размер текста, выводимого на метке. Однако в данном случае изменение размеров окна не представляется оправданным. В частности, оно нарушит выравнивание окна по центру экрана. Кроме того, в режиме секундомера окно будет изменять размер во многих ситуациях, например, при переходе от 9 секунд к 10, от 99 секунд к 100, а также при сбросе значения секундомера.

      Исправление. Добавьте к элементу Border в xaml-файле новый атрибут:

screen_image_69_159_75

      Результат. Теперь ширина окна остается неизменной в любом режиме.

      Ошибка. Кажущаяся правильность работы секундомера обманчива. В этом можно убедиться, если не останавливать секундомер в течение некоторого времени (выполняя при этом другие действия на компьютере), после чего сравнить результат с точным временем. Причина заключается в том, что событие Tick наступает примерно

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAQCAwMDAgQDAwMEBAQEBQkGBQUFBQsICAYJDQsNDQ0LDAwOEBQRDg8TDwwMEhgSExUWFxcXDhEZGxkWGhQWFxb/2wBDAQQEBAUFBQoGBgoWDwwPFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhb/wAARCAGwAoIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD33XPGmu+JtROqPqupWmkTSNJpdlp07WTmD7qyTSLlmZiCdvAXiq/9q3H/AEE/FX/hT3H+FUNFUHwf4eOP+YPD/NqsQwvK7JFG0jKAWVBkgHoSB9DQBP8A2rcf9BPxV/4U9x/hR/atx/0E/FX/AIU9x/hTPsN3/wA+k3/fs1CVARXPCyMVRj0ZhnIHqRg5+lAFn+1bj/oJ+Kv/AAp7j/Cj+1bj/oJ+Kv8Awp7j/Cq20elG0elAFn+1bj/oJ+Kv/CnuP8KP7VuP+gn4q/8ACnuP8KrbR6UbR6UAWf7VuP8AoJ+Kv/CnuP8ACj+1bj/oJ+Kv/CnuP8KrbR6UbR6UAWf7VuP+gn4q/wDCnuP8KP7VuP8AoJ+Kv/CnuP8ACq20elG0elAFn+1bj/oJ+Kv/AAp7j/Cj+1bj/oJ+Kv8Awp7j/Cq20elG0elAFn+1bj/oJ+Kv/CnuP8KP7VuP+gn4q/8ACnuP8KrbR6UbR6UAWf7VuP8AoJ+Kv/CnuP8ACj+1bj/oJ+Kv/CnuP8KrbR6UbR6UAWf7VuP+gn4q/wDCnuP8KP7VuP8AoJ+Kv/CnuP8ACq20elG0elAFn+1bj/oJ+Kv/AAp7j/Cj+1bj/oJ+Kv8Awp7j/Cq20elG0elAFn+1bj/oJ+Kv/CnuP8KP7VuP+gn4q/8ACnuP8KrbR6UbR6UAWf7VuP8AoJ+Kv/C