Кнопки панели приложений с текстом в WP

У меня есть панель приложений с некоторыми кнопками и элементами меню, когда пользователь нажимает «...». Во всяком случае, я понял, что значение некоторых значков может быть трудно понять с первого взгляда.

Есть ли способ отображать значки с текстом под ними? Конечно, они видны, когда пользователь нажимает «...», но также и с элементами меню, и мне это не нужно.

Кто-нибудь сделал это?


person dargod    schedule 13.09.2012    source источник
comment
Что стоит за тем, чтобы идти против установленного поведения пользовательского интерфейса? То, что он делает, это то, что пользователи разумно ожидают.   -  person Michael Itzoe    schedule 13.09.2012
comment
ну, иногда значки могут не иметь ясного значения для пользователя.   -  person dargod    schedule 13.09.2012


Ответы (2)


Вы не можете сделать это со стандартным ApplicationBar. Как я уже сказал, поведение по умолчанию — скрыть текст.

Также пользователь WP7 имеет особый пользовательский опыт, поэтому, если он не может понять значение вашего значка, он нажмет "...", чтобы прочитать текст.

Но вы можете эмулировать панель приложений в некоторых сценариях:

<Border Background="{some gray color from phone resources}">
 <StackPannel Orientation="Horisontal">
  <Button Content={Binding TextB} Command="{Binging CommandA}" 
                          Style="{your appbar-like template}"/>
  <Button Content={Binding TextB}  Command="{Binging CommandB}" 
                          Style="{your appbar-like template}"/>
</StackPannel>
</Border>

Поместите его внизу страницы. Но будьте готовы потратить много времени на эмуляцию стандартного поведения панели приложений. Я не думаю, что это хорошая идея.

person Anton Sizikov    schedule 13.09.2012
comment
Я согласен с вами, но много раз я получаю вопросы от людей, не являющихся сотрудниками wp, и они были немного удивлены тем, что «...» покажет им больше. Для меня это тоже нормальное явление. Спасибо за советы :) - person dargod; 17.09.2012

Вы можете просто использовать shell:ApplicationBar и установить свойство Text

<shell:ApplicationBar x:Name="dialogsPageAppbar">
        <shell:ApplicationBarIconButton  IconUri="/images/Icons/appbar.add.rest.png" Text="create"/>
        <shell:ApplicationBarIconButton  IconUri="/images/Icons/appbar.refresh.rest.png" Text="refresh"/>
        <shell:ApplicationBarIconButton  IconUri="/images/Icons/appbar.feature.search.rest.png" Text="search"/>
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem Text="settings" />
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
person Sergey Lapin    schedule 13.09.2012
comment
Это обычный способ сделать кнопку с текстом, но текст появляется, когда пользователь нажимает "...". В представлении по умолчанию у вас есть только значок метро без текста. И я хотел бы видеть значок с текстом ниже в качестве вида по умолчанию - person dargod; 13.09.2012
comment
Если вам не нужно локализовать ваше приложение — нарисуйте иконку с текстом. - person Anton Sizikov; 13.09.2012
comment
В любом случае, поведение по умолчанию здесь msdn.microsoft.com/en-us/library/windowsphone/develop/ - person Anton Sizikov; 13.09.2012
comment
@AntonSiziki он не влезет внутрь, да и влезет, скорее всего, будет нечитаемым - person dargod; 13.09.2012