Выход текста за границы экрана

Вопросы и обсуждения по Windows Phone разработке
Ответить
van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Чт фев 02, 2017 4:38 pm

Доброго времени суток! У меня такая проблема: при запуске страницы на эмуляторе под Win текст кнопок выходит за пределы экрана. Как его уместить в кнопке? Размер текста менять не хочу, есть ли другие варианты? На Android все аккуратно.
Вложения
text.jpg
text.jpg (29.45 КБ) 721 просмотр

Аватара пользователя
Jasper
Site Admin
Сообщения: 49
Зарегистрирован: Пт дек 23, 2016 8:16 pm
Откуда: Череповец
Контактная информация:

Чт фев 02, 2017 8:38 pm

Я вижу здесь ещё 2 варианта кроме смены шрифта:

1. Это увеличить высоту кнопки и сделать перенос текста.

2. Изменить текст. Очень странно видеть в приложений текст "как пользоваться этой программой" слово "программа" ассоциируется больше с ПК. Лучше заменить на "приложение" если это слово очень нужно.

А самое простое - "Как пользоваться" или "Помощь" потому что я уже нахожусь в приложении и для пользователя уже понятно о чем идёт речь т.е. об этом приложении.
Слово "этой" - точно лишнее, если его убрать смысл не измениться.

van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Пт фев 03, 2017 9:19 am

Хм.. Логично! Спасибо за подсказку.. изменю название на "Помощь"

van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Сб фев 18, 2017 9:02 pm

Вопрос остался открытым с выходом текста за экран, но уже ListView с 3-мя столбцами. В ListView вставил grid прописал три столбца с пропорциональными значениями и если взять в отличие от Android где все четко, ровно и красиво и текст переносится, то тут просто жуть какая-то. Столбцы становятся равными только при указании абсолютных размеров, но это как я понимаю не выход, т.к. используются то разные размеры экранов. Подскажите пожалуйста, как можно еще реализовать три столбца данных или выровнять эти столбцы?
Вот код со страницы:

Код: Выделить всё

  <StackLayout>
       <ListView x:Name ="wordsList" ItemsSource="{Binding}" ItemSelected ="OnItemSelected" HasUnevenRows = "True" RowHeight = "-1" SeparatorColor="Green">
       <ListView.ItemTemplate>
          <DataTemplate>
            <ViewCell>                                             
              <ViewCell.View>
              <Grid>               
                  <Grid.ColumnDefinitions>
                      <ColumnDefinition Width="*">
                      </ColumnDefinition>
                      <ColumnDefinition Width="*">
                      </ColumnDefinition>
                      <ColumnDefinition Width="*">
                      </ColumnDefinition>
                  </Grid.ColumnDefinitions>                 
                   <Grid.RowDefinitions>
                    <RowDefinition Height="*"></RowDefinition>               
                  </Grid.RowDefinitions>
                    <Label Text="{Binding RusWord}" TextColor="White" Grid.Column="0" FontSize="17"/>           
                    <Label Text="{Binding EngWord}" TextColor="Yellow" Grid.Column="1" FontSize="17"/>                                
                    <Label Text="{Binding Transcription}" TextColor="Gray" Grid.Column="2" FontSize="17"/>              
              </Grid>
              </ViewCell.View>
             </ViewCell>
          </DataTemplate>
        </ListView.ItemTemplate>
      </ListView>
      </StackLayout>
Вот так получается на WM:
Вложения
11.jpg
Вид списка с 3-мя столбцами в UWP
11.jpg (74.04 КБ) 657 просмотров

evgenles
Сообщения: 9
Зарегистрирован: Чт фев 02, 2017 11:56 am

Вс фев 19, 2017 1:40 pm

В Label не пробовали использовать LineBreakMode="WordWrap" ?

van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Вс фев 19, 2017 3:10 pm

Пробовал! Результат аналогичен..

Аватара пользователя
Jasper
Site Admin
Сообщения: 49
Зарегистрирован: Пт дек 23, 2016 8:16 pm
Откуда: Череповец
Контактная информация:

Вт фев 21, 2017 11:43 am

Попробуй указать для Label HorizontalOptions и VerticalOptions

van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Вт фев 21, 2017 12:53 pm

Реакция есть, но результат все такой же. При установлении статических значений ширины GridColumn, работает как надо, теперь я получил значение ширины девайса и пытаюсь их установить, передав в код страницы Xaml.. Но пока установить эти значения в коде Xaml что-то не выходит..1

Alsodan
Сообщения: 12
Зарегистрирован: Ср фев 01, 2017 11:32 am

Вт фев 21, 2017 2:31 pm

Самый простой вариант сделать так:
Задаем для двух колонок ширину, последняя - Авто.

Код: Выделить всё

              <Grid>               
                  <Grid.ColumnDefinitions>
                      <ColumnDefinition Width="100"/>
                      <ColumnDefinition Width="100"/>
                      <ColumnDefinition Width="Auto"/>
                  </Grid.ColumnDefinitions>                 
                   <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>               
                  </Grid.RowDefinitions>
                    <Label Text="{Binding RusWord}" TextColor="Black" Grid.Column="0" FontSize="17"/>
                    <Label Text="{Binding EngWord}" TextColor="Blue" Grid.Column="1" FontSize="17"/>    
                    <Label Text="{Binding Transcription}" TextColor="Gray" Grid.Column="2" FontSize="17"/>  
              </Grid>
 
Ну или попробуй другие варианты отсюда - http://stackoverflow.com/questions/400 ... id-for-uwp

van8tka
Сообщения: 9
Зарегистрирован: Ср фев 01, 2017 5:13 pm

Вт фев 21, 2017 3:17 pm

Всем спасибо! Что я сделал, задал ширину Grid, в итоге весь текст выравнивается строго по колонкам без сдвигов и выхода за пределы экрана.

Код: Выделить всё

	<Grid WidthRequest="50">

Ответить
  • Информация
  • Кто сейчас на конференции

    Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость