Intereting Posts
Получить часовой пояс по умолчанию для страны (через CultureInfo) Разбор файла Excel на C #, ячейки, кажется, обрезаются на 255 символов … как я могу остановить это? C # из памяти при создании растрового изображения Проверьте, является ли многоугольник самопересекающимся Использование перечислений в службах передачи данных WCF Autofac: регистрировать компонент и разрешать в зависимости от разрешения родительского Если я перестрою dll, который ссылается на мой проект, мне также нужно перестроить проект? File.Move не наследует разрешения от целевого каталога? Исключения: когда использовать, время, общее использование Как создать byte с длиной 16, используя FromBase64String Как обновить querystring в C #? Ожидаемые исключения NUnit Как изменить ErrorMessage для проверки модели объекта в ASP.NET MVC? В C #, как я могу узнать, какие исключения поймать? C #: простой и функциональный способ масштабирования изображений с помощью полос прокрутки

C # WPF – проблемы с ScrollViewer + TextBlock

У меня есть TextBlock внутри ScrollViewer который выравнивается с растяжением до его windows. Мне нужно, чтобы TextBlock вел себя следующим образом:

  • Изменяет размер с помощью windows, без полос прокрутки
  • При изменении размера ниже определенной ширины TextBlock необходимо сохранить MinWidth и полосы прокрутки
  • TextWrapping или TextTrimming должны работать надлежащим образом

Как я могу получить эту функциональность?

Я пробовал несколько способов, включая привязки к ActualWidth & ActualHeight , но не могу заставить его работать.

Это не может быть так сложно, чего мне не хватает?

Вот пример кода для добавления XamlPad (пока еще не установлен MinWidth):

      

    Это работает:

          

    Без каких-либо подробностей лучше всего я могу обеспечить стандартный способ сделать это. В основном, разместите свой элемент (который имеет минимальный размер) в средстве просмотра прокрутки; когда scrollviewer изменяется настолько мало, что элемент не может полностью вписаться в него, он автоматически отображает полосы прокрутки. Пример:

        

    Если у вас более сложный макет и он не может привязываться к ScrollViewer тогда может помочь ScrollViewer IgnoreWidthControl в ответе https://stackoverflow.com/a/41281041/254109 .