Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Помогите с биндингом DataGrid+ComboBoxColumn / 6 сообщений из 6, страница 1 из 1
16.10.2010, 01:02
    #36902724
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
Есть такая разметка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<UserControl x:Class="WpfApp.Views.OrderView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid x:Name="dta">
        <StackPanel>            
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <TextBlock Grid.Column="0" Grid.Row="0" Text="№" />
                <TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Id}" />
                <TextBlock Grid.Column="0" Grid.Row="1" Text="Дата" />
                <DatePicker Grid.Column="1" Grid.Row="1" SelectedDate="{Binding Date}" />
                <TextBlock Grid.Column="0" Grid.Row="2" Text="Название" />
                <TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Name}" />
                <TextBlock Grid.Column="0" Grid.Row="3" Text="Описание" />
                <TextBox Grid.Column="1" Grid.Row="3" Text="{Binding Description}" />
            </Grid>
            <DataGrid Name="zzz" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedDetail}" ItemsSource="{Binding Details}">
                <DataGrid.Columns>
                    <DataGridComboBoxColumn Header="Продукт" SelectedItemBinding="{Binding Product}" ItemsSource="{Binding ElementName=zzz, Path=DataContext.AllProducts}" />
                    <DataGridTextColumn Header="Количество" Binding="{Binding Quantity}" />
                </DataGrid.Columns>
            </DataGrid>
        </StackPanel>
    </Grid>
</UserControl>


В DataGrid.DataContext попадает объект класса OrderViewModel

Два свойства у него есть с ними и проблема. Это свойства Product и AllProducts. Я хочу штобы в греде в колонке ComboBox'е (см. колонку) отобразились для выбора AllProducts (коллекция). Не получается. Пишет:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=DataContext.AllProducts; DataItem=null; target element is 'DataGridComboBoxColumn' (HashCode=59318398); target property is 'ItemsSource' (type 'IEnumerable')
...
Рейтинг: 0 / 0
16.10.2010, 15:37
    #36903022
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
DataGrid x: Name="zzz"?
...
Рейтинг: 0 / 0
17.10.2010, 21:06
    #36904094
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
Вестник,

Поправил, но ошибка осталась. Не помогло :(.
...
Рейтинг: 0 / 0
17.10.2010, 23:04
    #36904167
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
мысль вслух: если в момент разбора xaml-а DataContext еще не установлен, то DataContext.Свойство может вызвать исключение, которое не корректно обрабатывается
...
Рейтинг: 0 / 0
17.10.2010, 23:23
    #36904187
Lord British
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
Вестник,

Неа не то...

А не подскажите как прибиндить по уму ItemsSource комбо бокса? Я использую MVVM, потому мне не подходят всякие ObjectDataAdapter'ы...

Уже голову сломал. Пробую на ListView.GridView смастерить что мне надо... но че-то как-то все стремно.
...
Рейтинг: 0 / 0
18.10.2010, 00:06
    #36904202
Вестник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с биндингом DataGrid+ComboBoxColumn
в данной ситуации я бы в DetailViewModel сделал свойство AllProducts, которое бы пробрасывал на MasterViewModel.AllProducts
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Помогите с биндингом DataGrid+ComboBoxColumn / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]