我有一個包含標題區域和內容區域的頁面。內容區域只包含一個用戶控件。 我們有一個沿着AbstractClassA的類結構是所有要顯示的類的基類。抽象類B & C都從A繼承。 具體類B1和B2繼承自B,具體類C1和C2繼承自C.當包含多個用戶控件時,Silverlight ScrollViewer無法正常工作
此用戶控件包含許多控件,顯示A的信息以及兩個只有當顯示的類是相關類型時,纔會顯示其他控件B & C。
那些addituional控件然後顯示與其相應的抽象類相關的所有字段,並且還具有與具體類有關的附加控制,同樣僅當基礎類是正確類型時才顯示,然後具有與具體相關的字段類。
這一切都工作正常,但我們正在處理的一些類有很多領域,他們不適合在屏幕上了。所以,顯而易見的事情就是 - 將內容包裝在scrollviewer中。
唯一的問題是,這似乎並不奏效。
後續控件的可見性綁定到視圖模型上的屬性(通過布爾到可見性轉換器),該屬性確定正在處理的類的類型。回退值已摺疊,因此它們不可見。不知道所需的大小是否無法在隨後傳遞給scrollviewer時失敗?儘管設置爲自動,但滾動條並未出現。下面的xaml
<Grid x:Name="LayoutRoot">
<!-- Divide the page into a row for the header and 1 further rows which are used to position the content -->
<Grid.RowDefinitions>
<RowDefinition Height="{StaticResource HeaderRowHeight}" />
<RowDefinition Height="*" />
<RowDefinition Height="100" />
</Grid.RowDefinitions>
<Grid Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2">
<!-- Page header -->
</Grid>
<!-- Main page content follows -->
<Grid Grid.Row="1"
Width="auto">
<ScrollViewer Height="700"
VerticalScrollBarVisibility="Auto">
<dataEdit:CaseTypeInternalEditControl Height="Auto" />
</ScrollViewer>
</Grid>
</Grid>
我也試過把scrollviewer放在用戶控件中,但無濟於事。我錯過了什麼?