Как вставить статические значения в столбец comboBox wpf datagrid?

Привет, ребята, я работаю с wpf Datagrid, мне нужен столбец datagridcomboBox, и мне нужно иметь некоторые статические значения в этом столбце. Я пробовал следующим образом, но данные внутри столбца не отображаются.

              <DataGrid
                    Grid.Row="4"
                    Height="200"
                    Width="500"
                    Grid.ColumnSpan="2"
                    Margin="10,10,0,0"
                    HorizontalAlignment="Left"
                    AutoGenerateColumns="False"
                    ItemsSource="{Binding SSID}"
                    >

                    <DataGrid.Columns>
                        <DataGridTextColumn Width="100" Header="Network ID" Binding="{Binding _networkID}"/>
                        <DataGridTextColumn Width="100" Header="SSID" Binding="{Binding _ssid}"/>
                        <DataGridComboBoxColumn Width="100" Header="Profile/Groups" SelectedItemBinding="{Binding _apProfiles}" />
                    </DataGrid.Columns>
                </DataGrid>

public List<string> _apProfiles = new List<string>()
       {
            "21-ARC1000MAP , Indoor Radio b/g/n",
             "22-ARC2000MAP , Dual Radio a/n, b/g/n"
       };

Пожалуйста, подскажите, как решить эту проблему. Любая помощь будет очень ценна.


person CodeSniper    schedule 06.08.2014    source источник
comment
только столбец datagridcomboBox не отображает значения?   -  person Selva    schedule 06.08.2014
comment
да, только столбец datagridcomboBox не отображает значения   -  person CodeSniper    schedule 06.08.2014
comment
В других столбцах данные отображаются отлично!   -  person CodeSniper    schedule 06.08.2014


Ответы (2)


Вам необходимо привязать источник данных datagridcomboboxcolumn.

<DataGridComboBoxColumn Width="100" Header="Profile/Groups" ItemsSource="{Binding   _apProfiles}" />
person Community    schedule 06.08.2014

Если вы установите контекст данных для сетки данных, столбцы в сетке данных будут искать данные в контексте данных сетки данных. Если значение, которое вы привязываете к столбцу datagridcomboBox, не находится в (SSID) контексте данных datagrid, вы должны использовать

<DataGridComboBoxColumn Width="100" Header="Profile/Groups" ItemsSource="{Binding _apProfiles,  RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />

или вот так

<DataGridComboBoxColumn Width="100" Header="Profile/Groups" ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext. _apProfiles}" />

надеюсь это поможет.

person Selva    schedule 06.08.2014
comment
Что я должен заменить в x:Type UserControl ? - person CodeSniper; 06.08.2014
comment
это может быть страница, окно или пользовательский элемент управления, см. первое предложение кода xaml. - person Selva; 06.08.2014
comment
ни один столбец со списком по-прежнему не зависает, ничего не отображается :( - person CodeSniper; 06.08.2014
comment
Является ли _apProfiles частью SSID? - person Selva; 06.08.2014
comment
_apProfiles находится в другом классе! - person CodeSniper; 06.08.2014
comment
Давайте продолжим это обсуждение в чате. - person CodeSniper; 06.08.2014