Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Как сменить SelectedItem в Combobox в DataTempla


Автор: AndZho 5.10.2009, 15:14
Всем привет. Есть DataTemplate:
Код

<DataTemplate x:Key="LogStreamEditTemplate">
            <Border Margin="3" BorderThickness="1" CornerRadius="4" BorderBrush="SteelBlue" >
                <Grid Margin="3" Name="grLogStream" Width="Auto" Height="Auto" >
...
             <ComboBox Name="cbModeEdit" DataContext="{Binding Source={StaticResource MainWindowDataProvider}}" DisplayMemberPath="pMode" ItemsSource="{Binding pModesCollection}"/>
...   
                </Grid>
            </Border>
        </DataTemplate>


Есть ListBox:

Код

<ListBox  Name="lbLogStream" IsSynchronizedWithCurrentItem="True" ItemContainerStyle="{StaticResource lbDefaultStyle}">


B определённый момент я этот template использую для ListBox-a.

Как из кода сменить SelectedItem в Comboboxe?



Автор: rooks 6.10.2009, 14:46
Код
lbLogStream.ItemContainerGenerator.ContainerFromIndex(индекс)

дальше искать комбобокс в контейнере... наверное как-то так

Автор: math64 6.10.2009, 15:35
Искать ComboBox не нужно - задайте двунаправленный биндинг и измените данные. SelectedItem изменится автоматически.

Автор: AndZho 7.10.2009, 16:56
Цитата(math64 @ 6.10.2009,  15:35)
Искать ComboBox не нужно - задайте двунаправленный биндинг и измените данные. SelectedItem изменится автоматически.

У меня есть отдельный объект, нужно найти его в коллекции pModesCollection, а потом сделать SelectedItem-ом в cbModeEdit. Объект я достал, коллекция тоже есть. А вот как это всё культурно забиндить?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)