문제

Hey there!여기에 제 질문:

나 Datagrid WPF 와 저는 첫 번째 열에는 DataGridComboBoxColumn.

내가 무엇을 하고 싶은 헤더를 포함한 열도와 함께 콤보:을 변경하는 헤더와 함께 전체에 전파되 열입니다.

나는 이 시각적으로 수행하지만,제출할 때,데이터는 목록은 바로 Datagrid 수행하지 않는 새로운 combobox 값입니다.

<dg:DataGridComboBoxColumn SelectedItemBinding="{Binding BIBStatus}"                                            
                           ItemsSource="{Binding Source={StaticResource typeStatus}}" 
                           Width="0.20*">
                    <dg:DataGridComboBoxColumn.HeaderTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="Built-In Bridge"/>
                                <ComboBox SelectedItem="{Binding BIBStatus}" 
                                          SelectionChanged="ComboBox_SelectionChanged"
                                          ItemsSource="{Binding Source={StaticResource typeStatus}}"/>
                            </StackPanel>                                
                        </DataTemplate>
                    </dg:DataGridComboBoxColumn.HeaderTemplate>
                </dg:DataGridComboBoxColumn>

에 ComboBox_SelectionChanged 나는 다음과 같은 코드:

DataGridColumn comboCol = this.gridResults.Columns[0];

        for (int i = 0; i < this.gridResults.Items.Count; i++)
        {
            ComboBox myCmBox = (comboCol.GetCellContent(this.gridResults.Items[i]) as ComboBox);

            myCmBox.SelectedValue = ((ComboBox)sender).SelectedValue;
        }

에 제출할 때,데이터를 제출한 목록은 매핑되는 Datagrid;변경하는 경우 값의 첫 번째 열에는 해결 시간,즉클릭하여 세포 콤보 각 행에서 값을 전파하고 목록에 매핑되는,그러나 변경하는 경우 값의 첫 번째 열에 의해 헤더 그렇지 않습니다.

할 수 있는 사람이 무엇을 말해 내가 없는가?난 그것의 방법에 영향을 주는 각 행,그러나 시도했 SelectedValue,선택한항목 및 SelectedIndex...모든무 소용이 없습니다.

사전에 감사합니다...

도움이 되었습니까?

해결책

을 수 있다고 생각은 그것을 해결...거나 적어도 위장된 it...

DataGridColumn comboCol = this.gridResults.Columns[0];

        for (int i = 0; i < this.gridResults.Items.Count; i++)
        {
            ComboBox myCmBox = (comboCol.GetCellContent(this.gridResults.Items[i]) as ComboBox);
            myCmBox.SelectedItem = ((ComboBox)sender).SelectedItem;
        }

        if (this._results != null)
        {
            foreach (Device device in _results)
            {
                device.BIBStatus = (TypeStatus)Enum.ToObject(typeof(TypeStatus), ((ComboBox)sender).SelectedValue);
            }
        }

으로 바꾸려고 노력했만 매핑되고 희망에 대해 두 방법으로 작업하기 위해 바인딩을,하지만 그것은 단지 않았다면 나에 초점을 맞춘 각 행의킬 수 있습니다.그래서 저는 생각했:"왜 모두 방법?" 당신이 볼 수 있듯이,변경이 모두 각각 combobox 의 선택한항목과 각 장치의 턱받이 상태(이 매핑되는 부분입니다.)이 방법은 내가 원하는 효과가 있다.

그러나 나는 생각하지 않는 이 솔루션은 최고의 한 나는 여전히 기대는 방법이 있다 내가 이것을 할 수 있는 없이 당.

어떤 제안은 아직 환영합니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top