У меня возникли некоторые проблемы при использовании TextBox в сочетании с наклонным текстом.
Я посмотрел на аналогичный вопрос SO , где используемый элемент управления на самом деле TextBlock , и увеличение Height
(как предложено) не решает проблему для TextBox и не подходит потребности моего сценария, так как мне нужно, чтобы Height
был установлен неявно на основе Height
текста внутри TextBox.
Кроме того, я не смог найти никаких других связанных вопросов.
У меня есть следующий код XAML:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<TextBox
HorizontalAlignment="Left"
VerticalAlignment="Top"
FontStyle="Normal"
FontSize="50"
Text="Another text">
</TextBox>
</Window>
Все выглядит нормально, пока я не изменю FontStyle
на Oblique
(нажмите на ссылки ниже, чтобы увидеть изображения):
FontStyle="Normal"
FontStyle="Oblique"
Я обнаружил, что проблема, вероятно, вызвана TextBoxView внутри TextBox, чье значение Width
вычислено довольно странным образом. Кажется, что часть буквы выходит за пределы «границ выделения» (когда вы посмотрите на выделенный текст и выделите элемент Snoop WPF Я уверен, что вы будете знать, что Я имею в виду).
Выбранный текст
Подсветка элемента Snoop WPF
Как оказалось, настройка TextBoxView Width
в Snoop WPF решает проблему. Однако я не могу добиться того же в XAML.
Вероятно, я мог бы обойти это, создав собственный шаблон для TextBox, но это, конечно, кажется излишним и огромным количеством работы для чего-то, что я ожидал бы с самого начала работать должным образом.
Я что-то пропустил или действительно так сложно заставить работать правильно?
PS: мне действительно нужно, чтобы текст можно было выбирать, поэтому использование TextBlock вместо TextBox исключено.