저는 StackPanel을 가지고 있는데, 프레임의 내부 높이가 명확하게 초과하는 경우에도 스크롤 가능하도록 ScrollViewer의 내용을 스크롤 할 수 없습니다. ScrollViewer의 경계입니다. 이전에 Window의 루트 컨테이너로 Grid가 있었지만 StackPanel로 변경하면 스크롤바가 더 이상 나타나지 않습니다.WPF ScrollViewer를 사용할 수 없습니다.
작동하는 유일한 방법은 명시 적으로 ScrollViewer의 높이를 설정 한 다음 크기를 조정할 때 thw Window의 크기를 지정하지 않는 것입니다.
그리드를 사용해야합니까?
죄송합니다. WPF에 비교적 익숙합니다.
미리 도움을 청하십시오!
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignWidth="566" Width="719" >
<StackPanel VerticalAlignment="Stretch" >
<Menu HorizontalAlignment="Stretch" Name="Menu1" VerticalAlignment="Stretch" Width="Auto">
<MenuItem Header="_File" Name="MenuItem1">
<MenuItem Header="_Print" Name="MenuItem2" />
</MenuItem>
</Menu>
<Canvas x:Name="SearchCanvas" Width="681" Height="55">
<ComboBox Canvas.Left="6" Canvas.Top="0" Height="22" x:Name="cbLookupField" Width="302" Text="" SelectedIndex="0">
<ComboBoxItem Content="Reference Name" />
<ComboBoxItem Content="Matter" />
<ComboBoxItem Content="Client Loan Number" />
</ComboBox>
<TextBox KeyDown="tbLookup_KeyDown" Canvas.Left="6" Canvas.Top="28" Height="23" x:Name="tbLookup" Width="302" />
<Button Canvas.Left="314" Canvas.Top="27" Content="Search" Height="24" Name="btnSearch" Width="106" />
<ListView MouseDoubleClick="lvSearchResults_MouseDoubleClick"
ItemsSource="{Binding Tables[0]}"
Canvas.Left="-8" Canvas.Top="57" Height="129" Name="lvSearchResults" Width="697" Visibility="Hidden">
<ListView.View>
<GridView x:Name="gvResultsGridView"/>
</ListView.View>
</ListView>
</Canvas>
<ScrollViewer x:Name="ScrollViewer1" VerticalScrollBarVisibility="Visible">
<Frame Height="Auto" Source="Full Report.xaml" VerticalAlignment="Stretch" x:Name="Frame1" />
</ScrollViewer>
</StackPanel>
</Window>
감사합니다. @ Alfonso. 그건 의미가 있습니다. 나는 StackPanel로 Grid를 대체하는 것이 논리적 인 의미를 가졌다 고 생각했다. 그 이유는 요소들이 수직으로 배열 되었기 때문이다. – transistor1
@ transistor1 - 오신 것을 환영합니다! 이것이 스택 패널의 문제점입니다. 레이아웃은 설정이 쉽지만 그리드는 레이아웃을보다 잘 제어 할 수 있습니다. – alf