У мене є WPF DataGrid, на мою думку, з колонкою, яку я хочу мати можливість редагувати за допомогою комбінації. Зробити так, я створюю властивість на моєму огляді, як це:
public List<EnumeradorWCFModel> TiposCarga { get; set; }
Властивість правильно заповнена за допомогою сервісу WCF. Тепер це моє визначення DataGrid:
<DataGrid ItemsSource="{Binding Path=TarifarioSel.TarifariosDet}"
IsReadOnly="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn Width="200" Header="Tipo Carga" ItemsSource="{Binding Path=TiposCarga}"
SelectedValueBinding="{Binding Path=ID_TipoCarga}" DisplayMemberPath="Descripcion" SelectedValuePath="ID"/>
</DataGrid.Columns>
Я також спробую це, не пощастило:
<DataGrid ItemsSource="{Binding Path=TarifarioSel.TarifariosDet}"
IsReadOnly="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn Width="200" Header="Tipo Carga" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}}, Path=DataContext.TiposCarga}"
SelectedValueBinding="{Binding Path=ID_TipoCarga}" DisplayMemberPath="Descripcion" SelectedValuePath="ID"/>
</DataGrid.Columns>
Проблема полягає в тому, як я можу прив'язати PropertySource властивість стовпця combobox до властивості всередині мого перегляду.
Будь-яка допомога, будь ласка! Дякую!
Відповіді:
2 для відповіді № 1В порядку. Знайдіть її самостійно, але не знайте, чому вона повинна бути зроблена так.
<DataGrid ItemsSource="{Binding Path=TarifarioSel.TarifariosDet}"
IsReadOnly="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn Width="200" Header="Tipo Carga"
SelectedValueBinding="{Binding Path=ID_TipoCarga}" DisplayMemberPath="Descripcion" SelectedValuePath="ID">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TiposCarga}"/>
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TiposCarga}"/>
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>