Записи с меткой «WPF»
Команды событий мыши для MVVM
Если Вы когда нибудь хотели использовать MouseEventArgs в ViewModel, вот способ это сделать:
Динамический выбор шаблона DataTemplateSelector
Бывает ситуация, когда заранее не знаеш, какой шаблон необходимо подключить. Для этого WPF предусматривает DataTemplateSelector. Давайте на примере посмротрим, как всё это работает.
Создадим простое WPF приложение. Разместим на форме ComboBox и ContentPresenter:
Прочитать остальную часть записи »
Изменение языка раскладки клавиатуры в WPF
InputLanguageManger предоставляет возможности для управления языками ввода в Windows Presentation Foundation (WPF). С его помощью можно очень просто изменить язык ввода текстового поля:
try { InputLanguageManager.SetInputLanguage (tbInput, CultureInfo.CreateSpecificCulture("en")); } catch { }
Или же можно изменить в XAML
<TextBox x:Name="tbInput" InputLanguageManager.InputLanguage="ru-RU" />
Всё очень просто…
StringFormat атрибут
WPF предоставляет возможность задать формат выводимого значения прямо в XAML, без необходимости форматирования значения в коде. В .NET 3.5 появился новый атрибут, который позволяет это сделать – StringFormat
Отображение double в currency
<TextBlock Text="{Binding DoubleValue, StringFormat={}{0:C}}" />
ComboBox MaxDropDownItems в WPF
В Windows Forms у элемента управления ComboBox есть свойство MaxDropDownItems, которое позволяет задавать количество элементов отображаемых в выпадающем списке. К сожалению, разработчики WPF не реализовали это свойство. Но, к счастью, они создали новый инструмент, который позволяет это сделать: присоединяемые свойства зависимости. То, что мы сейчас будем делать, возможно только для выпадающих списков, высота элементов которых одинакова.
Прочитать остальную часть записи »
TextBox Multiline WPF
Статья, чтобы не забыть
Нужно сделать как в WindowsForms
TextBox.Multiline = True;
В WPF для этого нужно задать 3 свойства:
TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" AcceptsReturn="True"
В итоге получаем:
<TextBox Height="60" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" AcceptsReturn="True"/>
И текстовое поле в необходимом виде…