私は、可視性プロパティに基づいて複数のusercontrolsを表示し、次のボタンがクリックされたときに次の可視コントロールを表示する必要があるシナリオがあります。すべてのusercontrolをstackpanelに追加しました。これは素晴らしい考えではないようですが、アプリケーションのパフォーマンスに影響すると思います。このシナリオを定義する最善の方法を導くのに役立つかもしれません。複数のusercontrol wpfの可視性プロパティを使用
<StackPanel Grid.Row="3" Grid.Column="0" Margin="4 4 28 0" ScrollViewer.CanContentScroll="True">
<Border BorderThickness="3" BorderBrush="LightGray" >
<StackPanel>
<controls:ICUC x:Name="ICU" BorderBrush="CadetBlue" Visibility="{Binding Visibilityicuc}" ScrollViewer.VerticalScrollBarVisibility="Visible" Foreground="Black" VerticalAlignment="Center" Height="210" />
<controls:J1939 x:Name="J1939eng" BorderBrush="CadetBlue" Visibility="{Binding Visibilityj1939}" ScrollViewer.VerticalScrollBarVisibility="Visible" Foreground="Black" VerticalAlignment="Center" Height="210" />
<controls:p_code x:Name="pcodengg" BorderBrush="CadetBlue" Visibility="{Binding Visibilitypcode}" ScrollViewer.VerticalScrollBarVisibility="Visible" Foreground="Black" VerticalAlignment="Center" Height="210" />
<controls:Diagnostic_Developer x:Name="diagdev" BorderBrush="CadetBlue" Visibility="{Binding Visibilitysgdd}" ScrollViewer.VerticalScrollBarVisibility="Visible" Foreground="Black" VerticalAlignment="Center" Height="Auto" Width="Auto"/>
</StackPanel>
</Border>
</StackPanel>
あなたは解決しようとしている正確な問題は何ですか?それはまったく問題がないように聞こえますが、あなたはパフォーマンスについて懸念しています。パフォーマンスに問題がありますか? – GenericTeaCup
はい、このコントロールがロードされ、datacontextがデータを取得すると、次のボタンを作成して、次のコントロールの表示が表示または折りたたまれているかどうかを確認する必要があります。次の制御。 –
可視性を切り替えるのではなく、コントロールを動的に追加しようとしましたか? – GenericTeaCup