Как установить выбранный элемент в поле со списком MSI, которое было заполнено из настраиваемого действия? - PullRequest
1 голос
/ 14 сентября 2010

Я создаю веб-сайт MSI, используя WiX. У меня есть пользовательское действие (написанное на C #), которое заполняет поле со списком с описаниями веб-сайтов в IIS, поэтому пользователь может выбрать существующий веб-сайт для установки.

Работает нормально - кроме того факта, что при первом показе страницы диалога не выбран ни один элемент. Я бы хотел, чтобы по умолчанию был выбран первый сайт в списке.

Есть идеи, как мне это сделать? Ничто из «очевидных» (для меня) вещей, кажется, не работает.

Я использую последнюю версию WiX.

Ответы [ 2 ]

2 голосов
/ 15 сентября 2010

Каждая строка имеет значение, а элемент управления имеет свойство.Свойство будет иметь значение выбранной строки.В этом языке нет понятия control.value или control.selecteditem.value.

0 голосов
/ 02 июня 2014

На самом деле есть возможность предварительно выбрать точное значение для комбинированного списка - просто установите для свойства, связанного с комбинированным списком, в коде пользовательского действия нужное значение, и оно будет предварительно выбрано в пользовательском интерфейсе.

Например, если у вас есть выпадающий список

 <Control Id="WebSiteCombobox" Type="ComboBox" Property="IIS_WEBSITE_ID" Width="320" Height="16" X="20" Y="80" ComboList="yes" Sorted="yes"/>

тогда в вашем коде c # пользовательского действия:

foreach (Site site in iisSites)
{
    //code to fill the combobox
}

session["IIS_WEBSITE_ID"] = iisSites.First().Id.ToString(); //Or to any other value you want to be preselected
...