そのため、WPF アプリにリストボックスとツールバーがあります。ツールバーには通常のコントロールのみがあり、リストボックスには垂直エキスパンダーがあります。
クリックされたボタンに応じて、リストボックスに異なるエキスパンダーのセットが必要です。現在、次のようになっています。
<ListBox>
<local:Select_Analysis_Panel/>
</ListBox>
local:Select_Analysis_Panel
エキスパンダーを含む別のユーザー制御ファイルはどこにありますか。ボタンのクリック時に ListBox コントロールのコンテンツを動的に更新する最善の方法は何ですか?
ここ数時間、各エキスパンダー セットに set DataTemplates を使用し、以下のコードではほとんど役に立たない項目コントロール プロパティにバインドしようとしました。MVVM インターフェイスをセットアップする前に、基本的なフレームワークをレイアウトしようとしています。後で私はItemsSource="Network_anal"
あなたが知っているItemsSource="{Binding WhatExpanderViewModelProperty}"
か、またはそのようなものに置き換えるつもりでした.
<ListBox Width="250" Margin="5,0,0,0">
<ListBox.Resources>
<DataTemplate DataType="Select_Analysis_Panel">
<local:Select_Analysis_Panel/>
</DataTemplate>
<DataTemplate x:Key="Network_anal" DataType="NetworkAnalysis">
<local:NetworkAnalysis/>
</DataTemplate>.Resources>
<ListBox.Template>
<ControlTemplate>
<Border Background="Red"/>
</ControlTemplate>
</ListBox.Template>
<ItemsControl ItemsSource="Network_anal"/>
</ListBox>
私はこれに対して正しいアプローチを取っていますか?
これが私がやろうとしていることです。以下の「ファイル」ボタンをクリックすると、サイドバーに次の 2 つのエキスパンダーが表示されます。
「Network Design」ボタンを押すと、これらのエキスパンダーが表示されます。