Первоначально я бы сказал, что для этого нужно использовать «AutoFit», но я попробовал его, прежде чем предлагать его, и кажется, что он автоматически подходит для содержимого, а не для элемента управления.
Есть взломвиды, я думаю, будет близко.Прежде всего, вам нужно установить для свойства ItemsLayout
редактирования репозитория значение «Поток», в результате чего переключатели будут отображаться рядом друг с другом, а не в виде пробелов на основе самого большого заголовка:
repositoryItemRadioGroup1.ItemsLayout = DevExpress.XtraEditors.RadioGroupItemsLayout.Flow
Эта следующая часть является хакерской и может потребовать некоторой настройки ... по сути, вам нужно вручную определить ширину столбца на основе заголовков радиокнопок и радиокнопок.Сам переключатель с отступом примерно равен ширине 25. Каждый символ, вероятно, равен 5 или 6. Таким образом, если вы берете каждый элемент и предполагаете, что ему нужна ширина, равная 25 символам, вы можете добавить это исоответственно установите ширину столбца.
int width = 0;
foreach (var choice in choices)
{
var choiceValue = index.ToString();
width += (25 + 6 * choice.Length);
++index;
var item = new RadioGroupItem(choiceValue, choice);
repositoryItemRadioGroup1.Items.Add(item);
}
colGridColumn.Width = width;
Я надеюсь, что есть решение Dev Ex для этого, но я не знаю ни одного ... а пока попробуйте.