Kullanıcıların, WPF'de köşelerini sürükleyerek çalışma zamanında bir TextBox denetimini yeniden boyutlandırmasına izin vermekle ilgili nasıl giderim diye merak ettim. Daha az önemlisi, tüm kontrollerin yeniden boyutlandırılması için kullanılan aynı tekniktir? WPF'de Çalıştırma Sırasında Metin Kutusunu Yeniden Boyutlandırma
teşekkür :) ederizcevap
Sen metin, kullanıcının hizalamalarını germek için ayarlanması ve gridsplitters ile bir tablo gibi, yeniden boyutlandırmak bir kabın içine yerleştirerek (ya resizeable pencerede) denemelisiniz. Özel olarak yeniden boyutlandırılabilen bir metin kutusu oluşturmaya çalışmaktan çok daha kolaydır ve düzeninizin geri kalanıyla daha iyi çalışır.
DÜZENLEME: İşte gerçek uygulamasından bir örnek :
<Grid>...
<GridSplitter Grid.Row="1" Grid.ColumnSpan="2" ResizeDirection="Rows" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="4" BorderThickness="0,0,0,1" BorderBrush="Gray" Background="Transparent"/>
<TextBox Grid.Row="2" Grid.Column="0" Margin="6,6,6,6" Name="RequestTextBox" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" Text="{Binding Request, Mode=TwoWay}"/>
<GridSplitter Grid.Row="2" Grid.ColumnSpan="2" ResizeDirection="Rows" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Height="4" BorderThickness="0,0,0,1" BorderBrush="Gray" Background="Transparent"/>
...</Grid>
Bu sizin durumunuz için mükemmel değil, ancak düşündüğünüz ilk şey olmalı. –
İlginç, bunu şimdi deniyorum! :-) +1 –
tehMick cevabı kesinlikle doğrudur: Kesinlikle boyutlandırma ziyade TextBox kendisi özelleştirme yapmak için bir kapsayıcı oluşturmak gerekir. Ve eğer sizin için çalışıyorsa GridSplitter
kutuda çok iyi bir çözümdür.
Aynı durum vardı ama GridSplitter işe yaramazdı, bu yüzden iki boyutta yeniden boyutlandırmak için dört köşesinde fare geçişlerini işleyen bir "ResizeBorder" denetimi veya bir tarafa yeniden boyutlandırmak için kenarların ortasını oluşturdum. Bu aslında çok basit bir koddur: Sadece MouseDown'ı işleyin, MouseDown konumunu ve sürüklenen yan/köşeyi veren yerel bir değişken ayarlayın, ardından MouseMove'da boyutu güncelleyin.
ResizeBorder'im stileble oldu, böylece kenarlarda köşelerde ve satırlarda yalnızca dört kutu ya da hayal edebileceğim daha karmaşık bir şey gösterebiliyordum.
<my:ResizeBorder ...>
<TextBox ... />
</my:ResizeBorder>
ya göre:
Ayrıca, bir Izgara ve GridSplitters veya ResizeBorder veya başka bir şey kullanıyor olun, böyle kontrolün etrafında yeniden boyutlandırma işlevselliği ya koyarak seçim var olduğuna dikkat TextBox kendisi için ControlTemplate güncelleme: Bu sonuncu yöntem
<ControlTemplate x:Key="ResizableTextBox" TargetType="{x:Type TextBox}">
<my:ResizeBorder>
...
</my:ResizeBorder>
</ControlTemplate>
...
<TextBox Template="{StaticResource ResizableTextBoxTemplate}" ... />
avantajları şunları yapabilirsiniz TextBoxes boyutlandırılabilir yapmak için bir stil veya ekli özelliğini kullanmak ve ca o ki vardır n TextBox'ın yeniden boyutlandırılabilirliğini kod içinde dinamik olarak kolayca değiştirebilirsiniz.
Bunlar iyi seçeneklerdir +1 –
- 1. Jquery Mobil sayfa geçiş sırasında yeniden boyutlandırma
- 2. Resim Yeniden Boyutlandırma Sırasında Resim Oranı Korumuyor
- 3. JLabel'de metin oluşturma dinamik olarak yeniden boyutlandırma
- 4. std :: list yeniden boyutlandırma sonuçlarını yeniden boyutlandırma
- 5. Amazon Redshift Yeniden boyutlandırma işlemi sırasında% 99'da takıldı
- 6. Çalıştırma sırasında NSCombobox geçmişinin saklanması
- 7. Metin kutusunu FindControl C#
- 8. Satırlar arasında yeniden boyutlandırma ve yeniden boyutlandırma sayfa html
- 9. Resmi yeniden boyutlandırma kullanarak jupyter not defterinde yeniden boyutlandırma
- 10. jQuery yeniden boyutlandırma elemanlarını
- 11. Resim yeniden boyutlandırma ölçüde
- 12. CodeIgniter'de çoklu yeniden boyutlandırma
- 13. Kakao pencerelerini yeniden boyutlandırma
- 14. UIViews yeniden boyutlandırma
- 15. java resmini yeniden boyutlandırma
- 16. Bir Diziyi Yeniden Boyutlandırma
- 17. Bir Düzeni Yeniden Boyutlandırma
- 18. FlexBox kutularını yeniden boyutlandırma
- 19. Fare ile sürükleyerek bir metin kutusunu nasıl yeniden boyutlandırırım?
- 20. Duvar Eklentisi: Yeniden boyutlandırmak için yeniden boyutlandırma
- 21. yeniden boyutlandırma ve form denetimlerini yeniden boyutlandır
- 22. Tarayıcınızda yeniden etkinleştirme medyan sorguları yeniden boyutlandırma
- 23. Pencerede yeniden boyutlandırma meteor.js yeniden boyutlandırılıyor mu?
- 24. WPF - Ebeveynleri Doldurmak için Yeniden Boyutlandırma
- 25. Git bisect çalıştırma sırasında iki komutu çalıştırın
- 26. UINavigationBar'ı döndürme üzerine yeniden boyutlandırma
- 27. Java JPanel yeniden boyutlandırma sorunları
- 28. ImageMagick - Maksimum genişliğe yeniden boyutlandırma
- 29. QWidget yeniden boyutlandırma sinyali mi?
- 30. GIMP - Bir kancayı yeniden boyutlandırma
Çoğalt: http://stackoverflow.com/questions/771275/resizing-a-control-in-wpf – Heinzi
Bu bağlantıda hiçbir şey olarak çoğaltılan olarak işaretlenmemelidir. –