2013-03-22 2 views
0

я пытаюсь установить выбранный элемент через следующий код, но он не работает:SelectedItem не работает в XAML

<StackPanel Orientation="Horizontal"> 
       <TextBlock Text="Sort by" Margin="10" VerticalAlignment="Center"/> 
       <ComboBox Width="{StaticResource ComboWidth}" x:Name="sortcombo" ItemsSource="{Binding Path=SortOrder}" SelectionChanged="SearchCombo_SelectionChanged" SelectedItem="{Binding Path=DefaultSortIndex}"> 
        <ComboBox.ItemTemplate> 
         <DataTemplate> 
          <TextBlock Text="{Binding Path=Sort}"/> 
         </DataTemplate> 
        </ComboBox.ItemTemplate> 
       </ComboBox> 
      </StackPanel> 

однако он работает нормально, если я использую SelectedIndex вместо с привязкой к индексу 0-й. Что-то не так с декларацией?

+0

попробуйте сделать способ привязки вашего выбранного элемента TwoWay – Natrium

+0

он не работает. – Ankit

ответ

0

выяснил этот вопрос, на самом деле источником данных было создание нового списка каждый раз я называю GetData().

0

От имени вашей собственности DefaultSortIndex Возможно, вы пытаетесь связать int по телефону SelectedItem.

SeletedItem относится к элементу вашей коллекции, привязанному к ItemsSource, поэтому свойство, связанное с SelectedItem, должно быть типа ваших элементов коллекции.

+0

нет его просто быстрого изменения, которое я сделал для целей тестирования, я использовал индекс, который работал правильно, но при попытке изменить xaml для выбранного элемента (я тоже изменил тип свойства), он не сработал. – Ankit

+0

, когда вы говорите «это не работает», что вы имеете в виду? 1/вы выбираете элемент в своем поле со списком, и значение не задано в свойстве DefaultSortIndex? 2/что-либо выбирается в вашем поле со списком? – polkduran

+0

Если вам необходимо установить свойство DefaultSortIndex. Вид 'DefaultSortIndex = SortOrder.FirstOrDefault();' – polkduran

0

Если вы привязываете значение int к выбранному элементу, то это не сработает, вы должны связать элемент для этого. Для инт значение, которое вы можете установить его, как указано в следующем сообщении:

Set Selected Item of WPF Combobox to User Setting

+0

почему голос? –

+0

Да, я привязал элемент типа, который я использую для привязки itemssource, я упомянул об индексе, bcz он работал нормально, но когда я изменил в xaml, я сделал необходимые изменения в свойствах и – Ankit

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