DataGridComboBoxColumn
이 내 ViewModel에 ObservableCollection<String>
에 바인딩되어 있습니다. ObservableCollection에의의 드롭 다운을주는이 바인딩 작품, 내 뷰 모델에MVVM에서 WPF DataGridComboBoxColumn 바인딩?
<DataGrid Margin="5" AutoGenerateColumns="False" ItemsSource="{Binding MembershipsCollection}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Region" Width="SizeToHeader">
<DataGridComboBoxColumn.ElementStyle>
<Style>
<Setter Property="ComboBox.ItemsSource" Value="{Binding DataContext.RegionShortCodeCollection, RelativeSource={RelativeSource AncestorType={x:Type vm:AccountsViewModel}}}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style>
<Setter Property="ComboBox.ItemsSource" Value="{Binding DataContext.RegionShortCodeCollection, RelativeSource={RelativeSource AncestorType={x:Type v:AccountsView}}}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn Header="ProductCode" Binding="{Binding Path=ProductCode}" Width="SizeToHeader"/>
</DataGrid.Columns>
</DataGrid>
& 내 ObservableCollection에 :
이여기 내 XAML입니다.
private ObservableCollection<String> _RegionShortCodeCollection;
public ObservableCollection<String> RegionShortCodeCollection
{
get { return _RegionShortCodeCollection; }
set
{
_RegionShortCodeCollection = value;
OnPropertyChanged("RegionShortCodeCollection");
}
}
는 지금 데이터베이스 (그림에 PRODUCTCODE과 동일한
ObservableCollection<T>
에서 실제 전류 값으로 셀의 값을 바인딩 할
는 현재이 분명하다 : 이것은 생성자에서 호출하는 방법에 의해 채워집니다 빈 :?.?
이 주위에 방법이없는 경우 같은 열이 하나 개 이상의 속성에 바인딩 할 수있는 방법, 그것은 분명 희망 덕분 경우
DataGrid에 대한 ItemsSource 무엇입니까? 일반적으로 ComboBox의 SelectedItem을이 값을 보유하는 ItemsSource의 속성에 바인딩합니다. –
질문 Xaml이 업데이트되었습니다. ItemSource 컬렉션 내의 항목에 바인딩하려고하면 '추가 정보 :'DeferRefresh '가 AddNew 또는 EditItem 트랜잭션 중에 예외가되지 않습니다'... – Hardgraf
이것은 무엇입니까? 'RelativeSource = {RelativeSource AncestorType = {X : 유형 VM : AccountsViewModel}}'왜 않는 다른 AncestorType에 편집 스타일 바인드? – McGarnagle