Boththese 컨테이너의 너비/높이를 늘리고 사용자 입력에 따라 늘어나지 않는 텍스트 상자를 바인딩하려면 사용자에게 자리 표시 자 테두리를 지정하고 실제 높이/너비를 바인딩해야합니다.WPF 레이아웃 : Tabcontrol 내에서 텍스트 상자를 성장
이 경우에만 작동합니다. 텍스트 입력란이 사용자 입력에 따라 커지는 것을 막지 만 텍스트 상자의 크기가 커지기만하면 크기가 줄어들지 않습니다. RenderSize를 사용하면 확장 및 축소되지만 사용자 입력에 따라 다시 커집니다. 또한 너비/높이를 바인드하기위한 추가 요소를 추가하는 것은 약간 해킹 된 것처럼 보입니다. 더 나은 해결책이 있습니까?
이것은 텍스트 상자를 늘리는 기본 동작처럼 보입니다.
편집 : 나는 그것이 차이가 있는지 잘 모르겠지만,이 요소에 바인딩을 TabControl의 내용은 다음과 같습니다 여기
<TabControl HorizontalAlignment="Stretch" Margin="5,15,5,5" Name="tabControl2" VerticalAlignment="Stretch" MinHeight="80">
<TabItem Header="Description" Name="tabItem2" FontSize="14" IsEnabled="True">
<Grid>
<Border Name="b_desc"/>
<TextBox HorizontalAlignment="Stretch" Margin="0" Name="textBox5"
VerticalAlignment="Stretch" FontSize="12" TextWrapping="Wrap"
AutoWordSelection="True" VerticalScrollBarVisibility="Auto"
AcceptsReturn="True"
Width="{Binding ElementName=b_desc, Path=ActualWidth}"
Height="{Binding ElementName=b_desc, Path=ActualHeight}"
MaxWidth="{Binding ElementName=b_desc, Path=Width}"
MaxHeight="{Binding ElementName=b_desc, Path=Height}" />
</Grid>
</TabItem>
</TabControl>
EDIT2 (아론의 아래에 제안 포함) XAML입니다 ViewModel의 콜렉션 패턴의 예는 This Article을 참조하십시오.
이것은 아무런 효과가 없습니다. – Tyrsius
나는 Width와 ActualWidth를 모두 시도했다. 이것은 작동하지 않습니다. – Tyrsius
@ 티 루스 우스 나는 뭔가를 놓치고 있어야합니다. 게시 한 XAML이 예상대로 작동합니다. 컨테이너가 커지면 TextBox가 커지고 컨테이너가 축소되면 축소됩니다. 또한 사용자 입력에 따라 커지지도 않습니다. –