Binding элемента Combobox к строке в DataGrid WPF(Связь с БД по Entity Framework)

237
05 июля 2017, 23:50

Столкнулся с такой проблемой, что не получается нормально прибайндить комбобокс к базе данных. Имеется код:

<Window.Resources>
    <CollectionViewSource x:Key="antennaViewSource" d:DesignSource="{d:DesignInstance {x:Type Models:Antenna}, CreateList=True}"/>
    <CollectionViewSource x:Key="areaViewSource" d:DesignSource="{d:DesignInstance {x:Type Models:Area}, CreateList=True}"/>
</Window.Resources>
<Grid>
    <DataGrid DataContext="{StaticResource antennaViewSource}" x:Name="antennaDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding}" RowDetailsVisibilityMode="VisibleWhenSelected" Margin="0,0,0,22">
        <DataGrid.Columns>
            <DataGridTextColumn x:Name="numberColumn" Binding="{Binding Number}" Header="Номер" Width="*"/>                
            <DataGridTemplateColumn x:Name="areaColumn" Header="Зона" Width="*">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox ItemsSource="{Binding Mode=OneWay, Source={StaticResource areaViewSource}}" SelectedValuePath="ID" DisplayMemberPath="Name" SelectedValue="{Binding Path=Area, Source={StaticResource antennaViewSource}}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

Две таблицы с антеннами и зонами, связанные. В таблице антенн есть колонка с зоной, где указан первичный ключ из таблицы с зонами.

Нужно: чтобы в каждой строке была выбрана текущая зона в комбобоксе и чтобы из списка можно было поменять зону. Проблема: сделав так как у меня - все комбобоксы во всех строках показывают правильное значение для выделенной строки.

Кто сталкивался с такой проблемой и как ее решить? Желательно средствами XMAL.

READ ALSO
Как удалить дубликаты (string) с помощью C#?

Как удалить дубликаты (string) с помощью C#?

ЗдравствуйтеЕсть такой массив

242
Как добавить native dll в проект в Visual Studio 2012

Как добавить native dll в проект в Visual Studio 2012

Проект, написанный на языке C#Среда: Visual Studio 2012

266
Начальное значение Random() в C#

Начальное значение Random() в C#

Подскажите, пожалуйста, на что указывает и влияет начальное значение в объявлении нового объекта RandomДопустим 999, в нашем случае

246
Помогите написать json запрос Unity 3d [требует правки]

Помогите написать json запрос Unity 3d [требует правки]

вот такого вида запросы надо отправлять:

167