Tôi đang cố gắng tìm ra cách để có được một hộp văn bản để bọc nội dung của nó, tuy nhiên tình hình không hoàn toàn giống với kịch bản "không bọc" điển hình. textbox của tôi được chứa bên trong một DataTemplate được sử dụng bên trong một trường hợp Telerik RadTabControl (sử dụng một ContentTemplatePresenter để xác định xem để hiển thị) và XAML cho DataTemplate trông như thế này:Bao bì hộp văn bản WPF
<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>
Lý do tôi nói nó doesn' t rơi theo kịch bản bình thường "nó không bọc" là nó được sử dụng để bọc cho đến khi tôi đã phải thay đổi xem để được thay đổi kích thước để bất cứ điều gì để hỗ trợ các kích thước màn hình khác nhau ứng dụng sẽ được chạy trên. Khi tôi đã làm điều đó, TextBox ngừng gói bởi vì (có lẽ) là người dùng gõ một cái gì đó TextBox nói "Tôi cần nhiều không gian hơn" để phụ huynh bắt buộc và hộp tiếp tục ra bên phải vô thời hạn (mặc dù khung nhìn được thanh cuộn). Tôi đã thử thiết lập một MaxWidth bằng cách sử dụng Binding/RelativeSource, nhưng vì cha mẹ được thiết kế đặc biệt để phát triển cách tiếp cận đó sẽ không hoạt động. Điều tôi cần phải xảy ra là hộp phải là chiều rộng của 'cha mẹ có chứa' VisibleWidth. Có nghĩa là, nếu cửa sổ chính nó là 1024x768, MaxWidth của TextBox sẽ là 1024 và bất kỳ văn bản nào sau đó sẽ tự động bao bọc, nhưng nếu cửa sổ tăng lên 1280x1024, bây giờ hộp sẽ là 1280 và văn bản bọc cho phù hợp. Tôi cố gắng kịch bản này với biểu hiện ràng buộc này, nhưng không may mắn:
MaxWidth="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=ActualWidth}"
Kích thước cửa sổ riêng của mình không đang phát triển vì vậy nếu tôi có thể có được Width của Window (trừ một số tiền nhất định để trang trải các chiều rộng của các tab được một phần của TabControl) Tôi tin điều đó sẽ hiệu quả.
Bất kỳ ý tưởng nào?
Đã kết thúc tìm kết quả tốt nhất thông qua câu hỏi SO khác: http://stackoverflow.com/questions/386039/wpf-textbox-and-scroll-behavior. – RubyHaus