İçeriğindeki içeriğe göre boyutunu değiştirmek için WPF denetimini nasıl yapabilirim?Wpf kontrol boyutu içeriğe mi?
cevap
Çoğu denetim için XAML'deki yüksekliğini ve genişliğini Auto
olarak ayarlarsınız ve içeriği sığacak şekilde boyutlandırır.
Kodda, genişliği/yüksekliği double.NaN
olarak ayarlarsınız. Ayrıntılar için, bkz. FrameworkElement.Width, özellikle "açıklamalar" bölümü.
Penceremin genişliğini belirttiğim, ancak yüksekliği Auto
olarak ayarlanmış olan böyle bir sorun yaşadım. DockPanel
numaralı çocukta, VerticalAlignment
öğesi En Üst olarak ayarlanmıştı ve Pencere, VerticalContentAlignment öğesi En Yüksek olarak ayarlanmıştı, ancak Pencere hala içerikten daha uzun olurdu.
Snoop kullanarak, Pencere içinde ContentPresenter
(Pencere parçası, bir şey orada koymuştu) o VerticalAlignment
seti Stretch
içelim sahiptir ve tüm Pencere retemplating olmadan değiştirilemez keşfetti!
Çok fazla hayal kırıklığı yaşadıktan sonra, SizeToContent
özelliğini keşfettim - Pencerenin, içeriğin boyutuna göre dikey, yatay veya her ikisini de boyutlandırmasını isteyip istemediğinizi belirtmek için bunu kullanabilirsiniz - her şey güzel bir şekilde boyutlandırılıyor, ben Sadece bu özelliği bulmak için bu kadar uzun sürdüğüne inanamıyorum!
Tüm Izgaraların bu özelliğe sahip olmasını diliyorum ... – Shimmy
Sorun, üst düzey pencereye uygulandığında SetBoyutToContent = "WidthAndHeight". Bu konuda saatlerimi kaybettim - sezgisel değil! Bkz. Http://stackoverflow.com/questions/812079/window-heightauto-problem – DeveloperDan
Bir "Pencere" bir "Denetim" olsa da, OP'nin "SizeToContent" olmayan bir "UserControl" öğesine başvurduğunu düşünüyorum. mülk. Aksi halde OP, konudaki "Pencere" terimini kullanır. – ProfK
Kılavuz veya benzeri bileşen kullanıyorsanız: XAML'de, ızgaradaki öğelerin Grid.Row ve Grid.Column öğelerinin tanımlandığından ve kenar boşluklarının olmadığından emin olun. Tasarımcı modu veya İfade Karışımı kullandıysanız, belirli hücrelere değil, tüm ızgaraya göre kenar boşlukları atamış olabilir. Hücre boyutlandırma gelince , uzayda kalan doldurur ekstra hücre ekleyin:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
özgür bir şekilde bir şekilde sayfadaki oturdu bir kullanıcı kontrolü vardı, başka bir kaba tarafından kısıtlı değil Kullanıcı denetimi içerisindeki içerikler otomatik olarak boyutlandırılmaz, ancak kullanıcı kontrolünün eline geçtiğinde tam boyutta genişler.
Ben bu gibi oto boyutuna ayarlanmış satırda bir şebekeye aktarmak yerleştirilen, sadece yükseklik için, içeriğine basitçe boyuta kullanıcı kontrolünü almak için: denetimlerinin bir sürü set ek olarak<Grid Margin="0,60,10,200">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls1:HelpPanel x:Name="HelpInfoPanel"
Visibility="Visible"
Width="570"
HorizontalAlignment="Right"
ItemsSource="{Binding HelpItems}"
Background="#FF313131" />
</Grid>
- 1. WPF pencere boyutu
- 2. Rstudio sunumunda şeklin kontrol boyutu
- 3. WPF DataGrid Kontrol Şablonu
- 4. WPF bir kontrol çağırma
- 5. WPF kontrol performansı
- 6. Tablo Boyutu Dizin içerir mi?
- 7. C# WPF farklı boyut IDE'den mi?
- 8. WPF Özel Kontrol Şablonu Uygulanmadı
- 9. kontrol WPF DataRowView bir sütun
- 10. Güncel Apple Watch boyutu/boyutu 38mm veya 42mm mi çalışıyor?
- 11. WPF: Animasyonlu kullanıcı Yükte kontrol var
- 12. İçeriğe geç
- 13. Android'de alarm iletişim kutusunun kontrol boyutu
- 14. WPF Docking krom gibi mi?
- 15. WPF C# Kullanıcı Kontrol sayfası IsVisibleChanged olay
- 16. WPF: WPF uygulamasında WPF TextBox
- 17. C# temsilci boyutu parametresi boyutu
- 18. WPF - Tuval içinde merkezi kontrol (etiket)
- 19. En İyi WPF Şerit Kontrol Paketi nedir?
- 20. WPF kontrol tasarımı kılavuz - zaman çizelgesi
- 21. Cihazdaki uygulama boyutu uygulama mağazasında son boyuta eşit mi?
- 22. Hücre genişliğini içeriğe sığdır
- 23. Bir WPF Görsel öğesinin ölçeklendirilmiş boyutu nasıl elde edilir
- 24. Kullanıcı WPF TextBox'tan çıkmak için klavye mi, fare mi kullandı?
- 25. WPF
- 26. WPF web tarayıcısı - HTML indirilsin mi?
- 27. WPF/Silverlight Devletleri - XAML'den etkinleştirilsin mi?
- 28. Yaratıcı içeriğe göre içerik ContentTemplate
- 29. Boyutu
- 30. Boyutu
Yatay ve Dikey Geçişleri, mevcut bir alanı doldurmalarına neden olacak şekilde Streç'e geçmelidir, bu nedenle muhtemelen bu özellikleri belirtmeniz gerekecektir. HorizontalAlignment = "Sol" VerticalAlignment = "Üst". –