Próbuję dowiedzieć się, jak uzyskać pole tekstowe, aby zawinąć jego zawartość, jednak sytuacja nie jest taka sama, jak w typowym scenariuszu "nie zawija się". Moje pole tekstowe jest zawarty wewnątrz DataTemplate, który jest używany wewnątrz instancji Telerik RadTabControl (stosując ContentTemplatePresenter celu określenia, które zobaczyć, aby wyświetlić) i XAML dla DataTemplate wygląda następująco:WPF TextBox Owijanie
<DataTemplate x:Key="NotesTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Text="Use the box below to record any general notes associated with this item." Style="{StaticResource Default}" />
<TextBox TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" GridRow="1" Margin="20" Text="{Binding Notes, UpdateSourceTrigger=PropertyChanged}" />
</Grid>
</DataTemplate>
Dlatego mówię, że nie robi” t objęte są normalnym scenariuszem "nie pakuje się" jest używany do zawijania, dopóki nie zmieniłem widoku, aby zmienić rozmiar na wszystko, aby obsługiwać różne rozmiary ekranu, na których aplikacja będzie działać. Kiedy to zrobiłem, TextBox przestał owijać się, ponieważ (prawdopodobnie) gdy użytkownik pisze coś, co TextBox mówi "Potrzebuję więcej miejsca", więc rodzic zobowiązuje się, a pudełko wychodzi na prawo w nieskończoność (chociaż widok dostaje paski przewijania). Próbowałem ustawić MaxWidth za pomocą Binding/RelativeSource, ale ponieważ rodzic jest specjalnie zaprojektowany do wzrostu, to podejście nie zadziała. Muszę się wydarzyć, że pole powinno być szerokością jego "zawierającego rodziców" VisibleWidth. To znaczy, jeśli samo okno ma rozmiar 1024x768, wartość MaxWidth w TextBoxie powinna wynosić 1024, a dowolny tekst będzie się automatycznie owijał, ale jeśli okno powiększy się do 1280x1024, pole powinno wynosić 1280, a tekst zawija się odpowiednio. Próbowałem ten scenariusz z tego wyrażenia wiążącej, ale bez powodzenia:
MaxWidth="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=ActualWidth}"
rozmiar okna się nie rozwija się tak, jeśli mogę dostać okna na szerokość (minus pewną kwotę na pokrycie szerokości zakładek, które są część TabControl) Wierzę, że to zadziała.
Wszelkie pomysły?
Skończyło się na znalezieniu najlepszego wyniku za pomocą innego pytania SO: http://stackoverflow.com/questions/386039/wpf-textbox-and-scroll-behavior. – RubyHaus