| File: System\Windows\Forms\Design\DataSourceListEditor.cs | Web Access |
| Project: ..\..\..\src\winforms\src\System.Windows.Forms.Design\src\System.Windows.Forms.Design.csproj (System.Windows.Forms.Design) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel; using System.Drawing.Design; namespace System.Windows.Forms.Design; internal class DataSourceListEditor : UITypeEditor { private DesignBindingPicker? _designBindingPicker; public override bool IsDropDownResizable { get { return true; } } public override object? EditValue(ITypeDescriptorContext? context, IServiceProvider provider, object? value) { if (provider is not null && context is not null && context.Instance is not null) { _designBindingPicker ??= new DesignBindingPicker(); DesignBinding oldSelection = new(value, ""); DesignBinding? newSelection = _designBindingPicker.Pick(context, provider, true, /* showDataSources */ false, /* showDataMembers */ false, /* selectListMembers */ null, string.Empty, oldSelection); if (newSelection is not null) { value = newSelection.DataSource; } } return value; } public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext? context) { return UITypeEditorEditStyle.DropDown; } }