2009-12-21 1 views
0

У меня есть SilverLight выпадающий внутри DataForm следующим образом:Дисплей выбора по умолчанию в SilverLight comboxbox

<dataControls:DataForm x:Name="newScheduleMasterForm" Height="350" Width="450" MinWidth="400" 
          VerticalAlignment="Top"  
          CommandButtonsVisibility="None" 
          Header="Add New Master Schedule" 
          HorizontalAlignment="Left" AutoGenerateFields="False" ContentLoaded="newScheduleMasterForm_ContentLoaded" > 
     <dataControls:DataForm.EditTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <dataControls:DataField> 
         <ComboBox x:Name="cbScheduleType" SelectedItem="{Binding Schedule, Mode=TwoWay}" SelectedIndex = "0" 
           ItemsSource="{Binding GetScheduleTypeValues, Source={StaticResource validDataSource}}" 
         /> 
        </dataControls:DataField> 
       </StackPanel> 
      </DataTemplate> 
     </dataControls:DataForm.EditTemplate> 
    </dataControls:DataForm> 

выпадающий cbScheduleType ItemsSource имеет значения "внутренних" и Экстерьер. Я не могу отобразить выбранное по умолчанию значение «Интерьер» в текстовом поле combobox. Есть ли способ сделать это.

Заранее спасибо Mohit

ответ

0

Есть некоторые проблемы с привязкой данных к свойству SelectedItem в элементе управления Silverlight ComboBox по умолчанию.

Один из способов обойти это, создав настраиваемый элемент управления, который наследует от ComboBox и добавляет свойство зависимостей SelectedValue.

Там хороший пример этого на блоге Rockford Lhotka по адресу: http://www.lhotka.net/weblog/SilverlightComboBoxControlAndDataBinding.aspx

1

Проблема заключается в том, что вы пытаетесь оба набора SelectedIndex и связать выбранный элемент. Я бы просто установил Schedule to Interior в вашем конструкторе в codebehind и удалил атрибут SelectedIndex.

+0

Я попробовал. Кажется, он работает. Текстовое поле combox не отображает текстовое значение «Интерьер». – Mohit

Смежные вопросы