予有需要下述性能的遞歸定義用戶控制:幀間相關堆疊面板漿紗
有兩列
第一包含周圍的一些文本
第二列包含一個單一的邊界這些相同類型的控件(遞歸部分)的堆棧
如果第一列中的框比第二列中的堆疊框的總高度更短,則框應擴展爲使兩列都爲s ame高度。
如果第二列的總高度比第一列的框高,那麼第二列堆棧中的最後一項應該展開,因此它們的高度相同。
因此,例如,它可能是這樣的:
好了,到目前爲止,我所做的就是創建一個水平疊層板,其中第一項是包含邊界停放面板文字......第二列是綁定到一個子表垂直堆疊面板,創建遞歸用戶控制......這樣的..
<StackPanel Orientation="Horizontal" Background="AliceBlue">
<local:TMRequirementView Requirement="{Binding Baseline}" />
<StackPanel Orientation="Vertical">
<ItemsControl ItemsSource="{Binding Requirements}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:TMGridView Baseline="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
凡要求如下:
<DockPanel>
<Border MinHeight="50"
BorderBrush="Black" BorderThickness="2">
<TextBlock Text="{Binding Description}"
TextWrapping="Wrap" Background="Transparent" Height="Auto" />
</Border>
</DockPanel>
現在,如果堆疊的柱子更高,但它不起作用,如果第一列更高,並且我得到了空隙。任何想法如何處理這種相互依賴的高度?
更新: 因此,通過添加邊框右側列四周堆疊面板,我能看到的StackPanel其實並收到最小高度的變化。但是,即使有擴展空間,堆疊面板的孩子也不會自動更新。如果我在手之前修好堆疊面板的高度,那麼孩子們會填滿。我需要弄清楚的是,如何根據堆棧面板的最小高度更改來更新孩子的身高。
所以我想,也許將第二列堆棧面板的minheight參數設置爲第一列高度參數,但它抱怨...有任何想法? – tbischel 2010-09-28 00:14:49
高度命令可以是NaN,我嘗試綁定到ActualHeight屬性,但無濟於事。 – tbischel 2010-09-28 00:47:48