Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматический перенос текста на новую строку, авто-перенос текста на новую строку 
:(
    Опции темы
Compositum
Дата 3.8.2009, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: 1
Всего: 1



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

Код:
Код

        class Program
    {
        [STAThread]
        public static void Main()
        {
            Application app = new Application();
            MyWindow win = new MyWindow();
            app.MainWindow = win;
            app.Run(win);
        }
    }

    class MyWindow : Window
    {
        GridViewColumnHeader button; //Любопытствую...        
        Run run;
        public MyWindow()
        {
            button = new GridViewColumnHeader
            {
                BorderBrush = Brushes.Black,
                BorderThickness = new Thickness(5),
                Margin = new Thickness(20),
                HorizontalAlignment = HorizontalContentAlignment = HorizontalAlignment.Left,
                VerticalAlignment = VerticalContentAlignment = VerticalAlignment.Bottom
            };
            run = new Run("My toggle \nbutton");//Здесь использовал '\n' для переноса слова "button" на новую строку         
            run.FontWeight = FontWeights.Bold;
            button.Cursor = Cursors.Hand;
            button.Margin = button.Padding = new Thickness(20);
            button.Content = run;
            //run.FontFamily.
            this.Content = button;
        }
    }


Причем любопытный момент: Если уменьшать ширину button, то наступает такой момент, когда правый "Border" исчезает... вызвано это явление кодом:
Код

button.Padding = new Thickness(20);

т.о. поле "съедает" часть рамки при слишком малой ширине.

Это сообщение отредактировал(а) Compositum - 3.8.2009, 10:05
PM   Вверх
neiron
Дата 3.8.2009, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 18.4.2006
Где: Краснодар

Репутация: нет
Всего: 4



Не помню как у баттона, но у TextBlock есть свойство TextWrapping. Если у баттона ничего похожего нет, то ничто не мешает в кнопку вставить блок текстовый.
PM MAIL   Вверх
Compositum
Дата 3.8.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: 1
Всего: 1



Цитата(neiron @ 3.8.2009,  10:16)
Не помню как у баттона, но у TextBlock есть свойство TextWrapping. Если у баттона ничего похожего нет, то ничто не мешает в кнопку вставить блок текстовый.

спасибо
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.