2011-04-14 17 views
7

WPF Penceremde bir GridSplitter kullanıyorum. Splitter yukarıda bir TreeView, aşağıda bir metin kutusu içeren bir DockPanel olduğunu. TreeView'da bir öğe seçtiğimde, DockPanel'in içeriği veri bağlama yoluyla güncellenir.GridSplitter 'bölmesinin' başlangıç ​​yüksekliği nasıl ayarlanır?

TextBox'un içeriğine bağlı olarak, Pencerenin alt bölmesi genişler ve boyut olarak küçülür. GridSplitter kullanıcı tarafından sürüklenmediği sürece Yükseklik X'de başlamasını ve bu Yükseklikte kalmasını istiyorum.

Alt DockPanel'in Yüksekliğini XAML'ye ayarlamayı denedim, ancak bu, GridSplitter taşınırken yeniden boyutlandırılmaması için DockPanel'in yüksekliğini düzeltir. Belki de çözüm Grid.Row Heights'ı içeriyor mu?

İşte sayfamın genel yapısı.

Window 
    Grid 
    row1 Height="*": TreeView 
    row2 Height="5": GridSplitter 
    row3 Height="auto": DockPanel // gets taller and shorter depending on its content. 
     ... 
     TextBox 

BTW: GridSplitter sürüklenen sonra, yeniden boyutlandırma oluyor durdurur ve UI bunu istiyorum nasıl davranır.

cevap

8

Başlangıç ​​boyutuna sahip olmasını istediğiniz kılavuz satırın Height değerini açıkça ayarlayın.

Şu anda row3, Auto numaralı dizindir ve GridSplitter öğesinin, satırın geçerli yüksekliğiyle değiştirildiği sırada sürüklediğiniz anda içeriğe yeniden boyutlandırılır.