내 UI에는 두 개의 열과 한 개의 행으로 구성된 큰 그리드가 있습니다. 오른쪽 열에는 맨 위 행에 사용자 정의 컨트롤이있는 3 개의 행이있는 격자가 있고 두 개의 아래쪽 행에는 각각 Expander
개의 개체가 있으며 런타임에 채워지는 목록이있는 ItemsControl
이 들어 있습니다. 때로는 그 목록이 실제로 길어지고 화면에서 아래쪽으로 누출됩니다.부모 경계에서 WPF 격자 유지하기
내가하고 싶은 일은 사용자가 두 확장기를 모두 볼 수 있고 두 확장기를 모두 보면서 확장하거나 축소 할 수 있습니다. WrapPanel
또는 StackPanel
에 포장했지만 아무 소용이 없습니다.
여기 내 문제를 설명하는 데 도움이되는 몇 가지 코드입니다 :
<Grid Grid.Row="1" x:Name="grid1">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Expander Grid.Row="0" Header="Expander 1" x:Name="expander1" FontSize="14" IsExpanded="True">
<Expander.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC4C4C4" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</Expander.Background>
<ContentPresenter Content="{Binding ViewModel.OpenAlerts, ElementName=m_viewControl}" ClipToBounds="True"/>
</Expander>
<Expander Grid.Row="1" x:Name="expander2" Header="Expander 2" FontSize="14" IsExpanded="True">
<Expander.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFC4C4C4" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</Expander.Background>
<ContentPresenter Content="{Binding ViewModel.ClosedAlerts, ElementName=m_viewControl}" ClipToBounds="True"/>
</Expander>
</Grid>
어떤 도움이나 조언은 높게 평가 될 것이다!
감사합니다. John.
Magnus를 입력 해 주셔서 감사합니다. 그러나 작동하지 않는 것 같습니다. 나는 분명하지 않을 수 있습니다 - 나는 그리드의 내용 (현재 그것은'ContentPresenter')이 보이기를 원합니다. 'ClipToBounds = "True"의존성 프로퍼티를 사용해 보았지만 이것이 작동하지 않는 것 같습니다. –
미안하지만, 나는 이번 월요일에 두꺼워 야한다. 그러나 나는 이해할 수 없다. 샘플 XAML을 실제로 문제를 묘사하는 것으로 업데이트하십시오. 당신은 항목 목록 (크기)이 범인임을 지적했고 나의 이해를 돕기 위해 예제는 크기에 관계없이 훌륭하게 작동합니다. 두 확장자 모두 목록 크기에 관계없이 표시됩니다. 그러니 문제를 보여주는 최소한의 코드를 하드 코딩하십시오. –
나는'Expander's에있는 실제 내용으로 코드를 업데이트하고 주석을 제거했습니다. 도와 주셔서 다시 한 번 감사드립니다! –