나는이 문제를 몇 번 겪어 왔지만 아직 간단한 해결책을 찾지 못했습니다. TextBlock
(TextWrapping="Wrap"
포함)이 너비를 지정하지 않는 다른 요소 안에 포함 된 경우 TextBlock
은 부모가 허용하는 크기만큼 확장되어 먼저 텍스트를 감싸는 대신에 확장합니다. 예를 들어 현재 TextBlock
ValidationTemplate
으로 작업 중입니다. 템플릿이 현재 TextBox
의 폭보다 긴 텍스트를 처리하는 방법은 다음과 같습니다 분명히 최적이 아닌TextBlock이 레이아웃에 영향을 미치지 않도록 포장하십시오.
합니다.
<ControlTemplate>
<DockPanel LastChildFill="True">
<Border DockPanel.Dock="Top" BorderBrush="Red" BorderThickness="1">
<DockPanel>
<AdornedElementPlaceholder x:Name="TargetTextBox" />
<Grid x:Name="WarningBoxContainer" Background="Red" Width="{Binding ElementName=TargetTextBox, Path=ActualHeight}" Height="{Binding RelativeSource={RelativeSource Self}, Path=Width}">
<Path Margin="5" Stretch="Fill" Fill="#FFFFFFFF" Data="F1 M 26.9166,22.1667L 37.9999,33.25L 49.0832,22.1668L 53.8332,26.9168L 42.7499,38L 53.8332,49.0834L 49.0833,53.8334L 37.9999,42.75L 26.9166,53.8334L 22.1666,49.0833L 33.25,38L 22.1667,26.9167L 26.9166,22.1667 Z "/>
</Grid>
</DockPanel>
</Border>
<Border DockPanel.Dock="Top" Margin="0,2,0,0">
<TextBlock Text="Something very terrible has happened" TextWrapping="Wrap"/>
</Border>
</DockPanel>
</ControlTemplate>
누군가가 시도하기 전에 TextBlock
랩을 만드는 방법을 알고 있나요
여기
첫 번째 레이아웃을 생성 년대 ControlTemplate
에 대한 XAML입니다 : 여기가 표시 할 방법 넓히다?