WPF の動的コントロールの追加とパラメーターの保存方法
WPFでパラメータを保持しながら動的にコントロールを追加する方法を、以下の手順で実現できます:
- コントロールのパラメータを格納するためのデータモデルを作成する。
public class ControlParameter
{
public string Name { get; set; }
public string Value { get; set; }
}
- アイテムコントロール
<Grid>
<ItemsControl x:Name="controlsContainer"></ItemsControl>
</Grid>
- コードビハインドファイルに次のコードを追加して、必要に応じてコントロールを動的に追加します。
private ObservableCollection<ControlParameter> controlParameters = new ObservableCollection<ControlParameter>();
public MainWindow()
{
InitializeComponent();
controlsContainer.ItemsSource = controlParameters;
}
private void AddControlButton_Click(object sender, RoutedEventArgs e)
{
ControlParameter newParameter = new ControlParameter();
controlParameters.Add(newParameter);
}
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
foreach (ControlParameter parameter in controlParameters)
{
// 保存控件参数到数据库或其他地方
}
}
- XAMLで、コントロールを追加するためのボタンとパラメータを保存するためのボタンを定義します。
<StackPanel>
<Button x:Name="AddControlButton" Content="添加控件" Click="AddControlButton_Click" />
<Button x:Name="SaveButton" Content="保存参数" Click="SaveButton_Click" />
</StackPanel>
「追加コントロール」ボタンクリックでItemsControlにコントロールが動的に追加され、controlParametersコレクションには新たにControlParameterオブジェクトが作られます。また、「パラメータ保存」ボタンクリック時は、controlParametersコレクションをループし、データベースや他の場所にコントロールパラメータを保存します。