2013-03-27 2 views
0

Я разрабатываю приложение для Windows Phone 7.8 (возможно, WP8 на более позднюю дату), в котором пользователь должен ввести дату. В настоящее время я использую элемент управления DatePicker из Silverlight Toolkit, так как мне нравится визуальный стиль.Использование DatePicker без TextBox (Silverlight Toolkit) WP7

Элемент управления DatePicker, размещенный на странице, отображается как текстовое поле, которое при нажатии открывается DatePicker.

Есть ли в любом случае, чтобы TextBox не был включен, поскольку мне это не нужно, и это загромождает мою форму. Может быть, способ открыть DatePicker через код, а не через событие OnClick?

Любая помощь приветствуется :)

ответ

0

может быть, вы можете создать DatePicker и спрятана его. , когда вы нажимаете элемент (элемент, который хотите использовать), вы меняете фокус на DatePicker.

+0

Я уже пробовал это, установив непрозрачность на 0 и используя метод Focus(), но не работает, поскольку текстовое поле не редактируется пользователем. – Lucidity

0

Я думаю, что вы можете создать экземпляр объекта DatePickerPage и перейти к нему. Насколько я понимаю, у него есть свойство Value (исходящее из интерфейса IDateTimePickerPage), которое вы можете установить и прочитать.

Я не могу проверить это сегодня, но я обязательно попробую это завтра и сообщит вам, что я нашел. В то же время вы можете перейти на страницу http://silverlight.codeplex.com/ и проверить источник Инструментария.

1

Вы можете просто отредактировать контрольный шаблон DatePicker, чтобы изменить способ его отображения.

VS 2012 может сделать это по умолчанию (щелкните правой кнопкой мыши и измените шаблон), иначе вам нужно будет отредактировать шаблон, используя Expression Blend.

В частности, шаблон управления состоит из кнопки (между прочим):

<Button x:Name="DateTimeButton" 
     Content="{TemplateBinding ValueString}" 
     ... 

Кнопки Content свойство связано с ValueString. Если вы удалите это привязку (например), вы оставите пустую кнопку. Вы можете положить все, что вам нравится в содержании кнопки ...


Эти ссылки должны помочь вам начать работу с помощью Blend,:

Styling a control that supports templates

Create or modify a template

Направляющие Project Rosetta тоже хороши.

+0

Если вы можете немного уточнить, как отредактировать элемент управления, я очень новичок в разработке для Windows Phone и всего метода XAML для определения элементов управления. благодаря – Lucidity

0

Какое событие должно инициировать открытие страницы datepicker? Это щелчок или нажатие на кнопку, изображение или что? Если это любой из них, вы можете поместить DatePicker в xaml над этим элементом управления, чтобы они перекрывались (помещая их в одну и ту же строку сетки, тот же столбец). Установите непрозрачность DatePicker равным 0. Тогда пользователь не увидит TextBox DatePicker, а только элемент управления под ним. Однако, когда пользователь нажимает на этот элемент управления (кнопка, изображение и т. Д.), Он фактически нажимает на невидимый DatePicker, а затем откроется страница datepicker.

Смежные вопросы