2013-09-19 3 views
0
<DataGridTemplateColumn Header="Brand Code"> 
         <DataGridTemplateColumn.CellTemplate> 
          <DataTemplate> 
           <ComboBox IsEditable="True" Text="{Binding Path=BrandCode, Mode=OneWayToSource}" ItemsSource="{Binding Brands}"/> 
          </DataTemplate> 
         </DataGridTemplateColumn.CellTemplate> 
        </DataGridTemplateColumn> 

приведенный выше код отображает список, но когда я выбираю значение, которое он не присваивает BrandCode.DataGridTemplateColumn ComboBox Связывание и редактирование

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

можете

любой помощи?

ответ

0

Попробуйте вместо этого:

<ComboBox IsEditable="True" SelectedItem="{Binding Path=BrandCode, 
    Mode=OneWayToSource}" ItemsSource="{Binding Brands}"/> 

Это зависит от того, что в ваших вещах, но если ваши элементы являются экземплярами класса, и вы хотите вернуть особое значение свойства, вы можете попробовать это:

<ComboBox IsEditable="True" SelectedValue="{Binding Path=BrandCode, 
    Mode=OneWayToSource}" SelectedValuePath="NameOfPropertyToReturn" 
    ItemsSource="{Binding Brands}"/> 

Я просто проверял, что определенно работает ... если он не работает для вас, у вас есть проблемы, лежащие в другом месте в коде:

<StackPanel> 
    <ComboBox ItemsSource="{Binding Brands}" SelectedItem="{Binding BrandCode}" /> 
    <TextBlock Text="{Binding SelectedValue}" /> 
</StackPanel> 

UPDATE >>>

Осмотрев свой последний код для класса данных, я могу увидеть вашу проблему ... как вы были в состоянии писать WPF без изучения интерфейса INotifyPropertyChanged? Эти два идут рука об руку. Ваше решение заключается в реализации этого интерфейса в вашем классе Data. См. Страницу INotifyPropertyChanged Interface в MDSN для получения справки.

Пожалуйста, обратите внимание, что если вы показали нам весь код, в первую очередь, мы могли бы исправили эту проблему сразу.

+0

привет, у меня есть список , который является «Брендами» и строкой BrandCode, где мне нужно вернуть значение. Каждый элемент столбца datagrid исходит из списка объектов, содержащих Brands и BrandCode. приведенная выше рекомендация не работает – LeBlues

+0

Это странно ... первый пример * должен * работать ... что делают ошибки в окне вывода? – Sheridan

+0

Я знаю, что правильно ?, без ошибок, когда я пытаюсь получить доступ к BrandCode, он возвращает null :-( – LeBlues

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