Как контролировать изменение дизайна при изменении длины слов? На некоторых языках слова очень длинные в переводе, как сохранить дизайн в таком случае и не резать слово?
Как вам уже сказали в комментариях - дизайн нужно реализовывать так, что бы он не был привязан к определенным размерам, то есть использовать "резиновую верстку".
Покажу пару примеров:
К примеру у нас есть окно, ширина которого равна 800. Нам к примеру надо разместить Grid на половину этого окна, как быть? 800/2 = 400, значит можем задать что то вроде этого:
<Grid Width="400" HorizontalAlignment="Left" Background="Red"></Grid>
Посмотрим результат:
Вроде как выглядит красиво, но что будет, если мы изменим размер нашего окна? А нечего хорошего, наш Grid не будет занимать 50% всего окна.
Так как в таких ситуациях быть?
На самом деле все очень просто, нам просто нужно избавиться от размера и для этого нам на помощь приходить тот же Grid, указание HorizontalAlignment и VerticalAlignment, да и по сути все.
Создадим новый Grid c двумя колонками и поместим туда то, что нам надо:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Background="Red"></Grid>
</Grid>
Изначально Column и Row размещаются поровну, по этому нам досточно положить наш Grid с цветов внутрь и он займет все пространство первой колонки. Теперь при изменение размера у нас всегда будет ровно 50% окна закрашено красным цветом.
Хорошо, давайте другой пример, к примеру нам в правый нижний угол надо поместить небольшую надпись, как быть?
Я лично очень часто вижу подобный код:
<TextBlock Text="Моя надпись" Margin="663,389,0,10" Width="115"/>
Этот код мне дала сама студия, когда я мышью передвинул элемент в редакторе. Как думаете, что тут не так? Ну во первых это то, что текст тут фиксирован по ширине в 115, во вторых этот текст может и будет отображаться в нижнем правом углу, но стоит нам чуть изменить размер окна, так тексту становиться плохо...
Так как быть в таком случае? И тут все довольно просто, пишите код всегда сами, старайтесь отказываться от размеров вовсе (если не требуется строго фиксировать объект), используйте настройки позиционирования (HorizontalAlignment и VerticalAlignment), не делайте отступы (margin) очень большими (выше 20 уже как по мне через чур). Давайте перепишем эту строку:
<TextBlock Text="Моя надпись" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,5,5"/>
Все, теперь наша надпись будет размещена строго в нижнем правом углу нашего окна и что бы мы не делали, она там и останется. Так же и текст, ему будет место, куда можно "вырасти", ибо мы убрали фиксированную ширину элемента.
Вот собственно и все, повторюсь - старайтесь писать код сами, не используйте дизайнер как средство размещения объектов (он годиться только лишь для просмотра), используйте настройки позиционирования и разметки и все у вас будет как надо!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть закрытый и открытые тестовые ключи в виде массивов байт(ну или HEX строки, без разницы)Хочу на тестовых ключах проверить правильность...
Сейчас хочу начать изучение C#, прошелся по списку из этого ответа Книги и учебные ресурсы по C#
Необходимо вывести данные DataGrid в ExcelСлетает кодировка