カスタム グラフ ユーザー コントロールがあり、スタック パネルに配置しました。スタック パネルにいつでも表示できる最大 4 つのグラフ コントロールがあります。グラフの表示を制御するチェック ボックスがあります。
私が抱えている問題は、チェックボックスの選択を解除すると、スタック パネルの残りのグラフのサイズが変更されず、余分なスペースが埋められないことです。私が探しているのは、すべてのグラフが表示されている場合、スクロールせずに画面に収まりますが、グラフが1つしか表示されていない場合は、そのサイズを調整してすべての部屋を占有することです.
誰にもアイデアはありますか?
これは私がこれまでに持っているものです:
<UniformGrid Grid.Row="2" Name="uniformGrid1" >
<UniformGrid.Resources>
<Utilities:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</UniformGrid.Resources>
<StackPanel Grid.Row="1" Height="700" Name="graphControls" Orientation="Vertical">
<!--Cross Correlation Graph-->
<View:Graph Width="Auto" Height="Auto" MinHeight="175" Margin="5" x:Name="CrossCorrelationGraph" x:FieldModifier="public"
Visibility="{Binding Path=IsChecked, ElementName=crossCorrelationViewCheck, Converter={StaticResource BooleanToVisibilityConverter}}"
GraphMetadata="{Binding Path=Processor.CrossCorrelation.CrossCorrelationGraphData}"
StartPointAlignment="CenterVertical"
GraphTitle="Cross Correlation"
IsDetailed="True"/>
<!--Power Spectrum Graph-->
<View:Graph Width="Auto" Height="Auto" MinHeight="175" Margin="5" x:Name="PowerSpectrumGraph" x:FieldModifier="public"
Visibility="{Binding Path=IsChecked, ElementName=powerSpectrumViewCheck, Converter={StaticResource BooleanToVisibilityConverter}}"
GraphMetadata="{Binding Path=Processor.CrossCorrelation.PowerSpectrumGraphData}"
StartPointAlignment="Left"
GraphTitle="Power Spectrum"
IsDetailed="True"/>
<!--Phase Spectrum-->
<View:Graph Width="Auto" Height="Auto" MinHeight="175" Margin="5" x:Name="PhaseSpectrum" x:FieldModifier="public"
Visibility="{Binding Path=IsChecked, ElementName=phaseSpectrumViewCheck, Converter={StaticResource BooleanToVisibilityConverter}}"
GraphMetadata="{Binding Path=Processor.CrossCorrelation.PhaseSpectrumGraphData}"
StartPointAlignment="CenterHorizontal"
GraphTitle="Cross Phase Spectrum"
IsDetailed="True"/>
<!--Amplitude Spectrum-->
<View:Graph Width="Auto" Height="Auto" MinHeight="175" Margin="5" x:Name="AmplitudeSpectrumGraph" x:FieldModifier="public"
Visibility="{Binding Path=IsChecked, ElementName=amplitudeSpectrumViewCheck, Converter={StaticResource BooleanToVisibilityConverter}}"
StartPointAlignment="Left"
GraphTitle="Cross Amplitude Spectrum"
IsDetailed="True"/>
</StackPanel>
</UniformGrid>