WPF の動的コントロールの追加とパラメーターの保存方法

WPFでパラメータを保持しながら動的にコントロールを追加する方法を、以下の手順で実現できます:

  1. コントロールのパラメータを格納するためのデータモデルを作成する。
public class ControlParameter
{
    public string Name { get; set; }
    public string Value { get; set; }
}
  1. アイテムコントロール
<Grid>
    <ItemsControl x:Name="controlsContainer"></ItemsControl>
</Grid>
  1. コードビハインドファイルに次のコードを追加して、必要に応じてコントロールを動的に追加します。
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)
    {
        // 保存控件参数到数据库或其他地方
    }
}
  1. XAMLで、コントロールを追加するためのボタンとパラメータを保存するためのボタンを定義します。
<StackPanel>
    <Button x:Name="AddControlButton" Content="添加控件" Click="AddControlButton_Click" />
    <Button x:Name="SaveButton" Content="保存参数" Click="SaveButton_Click" />
</StackPanel>

「追加コントロール」ボタンクリックでItemsControlにコントロールが動的に追加され、controlParametersコレクションには新たにControlParameterオブジェクトが作られます。また、「パラメータ保存」ボタンクリック時は、controlParametersコレクションをループし、データベースや他の場所にコントロールパラメータを保存します。

bannerAds