2013-11-20 4 views
1

Привет, У меня есть приложение C# WPF POS, которое также работает на компьютерах с сенсорным экраном. В конкретном случае у меня есть ListBox, где будут отображаться элементы. У меня есть шаблон для просмотра, поэтому имя отображается.Нажмите и удерживайте, чтобы узнать опцию

Был бы случай, когда имя предмета слишком длинное. В этом случае мне может понадобиться усечь имя, чтобы оно было подходящим для представления.

Мне нужно показать полное имя, используя «Нажмите и удерживайте, чтобы изучить вариант». Это так просто в веб-приложениях, поскольку мы имеем мышь над функциональностью.

Как достичь этого с помощью WPF?

+0

Вы когда-нибудь пробовали подсказку? – Hiber

+0

@Hiber Как работает всплывающая подсказка для сенсорных экранов? –

+0

@paqogomez Я прошу предложение начать реализацию. Я еще ничего не пробовал –

ответ

1

Этот вопрос далеко не настолько фиктивный, как кажется. Некоторое время назад у меня была такая же проблема. Должен признать, что на сенсорном экране сложно создать удобный интерфейс, поскольку у вас нет древнего инструмента: всплывающая подсказка, onmouseover, позиция и т. Д., И в некоторых случаях сама резолюция ниже. Это легко забыть, особенно если ваше приложение должно работать как с сенсорным так и с мышью. На самом деле реальное решение зависит от hw/sw.

  1. Если у вас есть экран с несколькими сенсорными экранами, вы можете определить некоторые манипуляции с несколькими касаниями для отображения всплывающей подсказки, например: увеличение. Но в этом случае вы в основном также используете выбор, который может быть нежелательным.

  2. Некоторые современные сенсорные экраны также распознают, находится ли ваш искатель над элементом, вам не нужно прикасаться к нему. В этом случае OnMouseOver должен работать.

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

  4. Для реализации нажмите и удерживайте вы можете переопределить TouchDown и TouchUp события и время messure, но будьте осторожны, так как в этом случае простое прикосновение/одним нажатием кнопки также происходит из-за пузырьками, события. Поэтому вам нужно отменить (обработанный = истинный) пузырь. Подробнее об этом here.

Подробнее о касании и манипуляциях можно узнать подробнее here.

+0

Спасибо Andras .. Я думаю, чтобы реализовать вариант 3. В том, что «Показать всплывающую подсказку» определяет, что. Я имею в виду нажатие пользовательского buttom Как показать всплывающую подсказку? –

+0

Вы можете открыть его с помощью AttachedProperty и Button. Регистрировать кнопку «Обработчик кликов», чтобы изменить открытое состояние всплывающей подсказки на значение true. Вот рабочее решение, однако оно не привязано к свойству http://stackoverflow.com/questions/3116842/can-i-explicity-show-tooltip-on-mouse-click-event-in-wpf. –

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