저는 XAML에 어려움을 겪고 있습니다! 나는 3 개의 행을 가지며, 중간 행 이외에 페이지의 높이를 실제로 변경하지 않습니다. 중간 행에는 ListBox가 있습니다.ListBox에 scrollviewr 추가
화면의 크기에 따라 화면에서 세 번째 행을 밀어 내지 않으면 항목이 ListBox에 추가 될 때 두 번째 행의 높이가 커지고 싶습니다. 이 경우 ListBox에 스크롤 막대가 표시됩니다. 나는 이것을 어떻게 성취 할 수 있을지 확신하지 못합니다.
나의 연구에 따르면 Height we have Auto와 *가 있습니다. 컨트롤에 따라 자동으로 크기가 지정되고 *가 전체 간격을 채 웁니다. 나는 이들 중 어느 것이 실제로 필요한 것을 어떻게 볼 수없는 ...
다음은 UserControl의 코드입니다. 이 UserControl은 부모 TabControl에서 렌더링됩니다.
내 노력은가 확장되지 않으므로 옵션은 고정 높이를 설정하지 않는 내가 그리드의 높이를 설정하면 편집
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<TextBlock Text="[?] Source directory" />
</StackPanel>
<ListView ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="{Binding Folders}" Grid.Row="1" >
<ListBox.ItemTemplate>
<DataTemplate>
//data template code
</DataTemplate>
</ListBox.ItemTemplate>
</ListView>
<StackPanel Grid.Row="2">
<Button Content="Save" />
</StackPanel>
</Grid>
, 그것은 작동하지만, 모든 결의안. 그것은 Grid
하고 RowDefinitions
때문에 Auto
및 *
으로 정의 된 부모의 Height
을 모르기 때문에
http://www.codeproject.com/Articles/30904/WPF-Layouts-A-Visual-Quick-Start –
그래서 두 개의 StackPanels가 위와 아래로 도킹되도록하고 ListView를 사용하려면 화면의 중간 부분 전체? – estebro
올바른 @estebro – MyDaftQuestions