Der WPF-Datenbindung der ComboBox in DataGridTemplateColumn

Ich habe ein DataGrid und will ich zum füllen einer Spalte mit einer ComboBox mit dynamischen ItemsSource von Elementen, basierend auf der Zeile. Ich habe die combo-box korrekt angezeigt, und die richtige Liste der Elemente aufgefüllt werden, die in die Liste aufgenommen wurden, zog in aus der AvailableLogFileProcessTypes Eigenschaft, die eine ReadOnlyCollection. Allerdings, wenn die Auswahl durch den Benutzer in der combobox, die LogFileProcessType Eigenschaft ist nicht festgelegt, zur Auswahl.

Daten:

Property LogFileDirectories, IEnumerable<LogFileData>,
LogFileData:
public LogFileProcessType LogFileProcessType{get;set;}
public ReadOnlyCollection<LogFileProcessType> AvailableLogFileProcessTypes { get; set; }

Die Immobilie verfügt derzeit über ein Feld sichern, und die breakpoint in die set-Eigenschaft nicht getroffen, so weiß ich es lokalisiert ist, um die Bindung setup. Was ist Los mit meinem XAML-Code, der verhindert, dass das Eigentum von set?

Wie Sie sehen können, habe ich versucht, die Einstellung sowohl die SelectedValue-und SelectedItem in der CellEditingTemplate und die CellTemplate. Ich bin nicht sicher, was dieser angemessen ist.

 <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Path=LogFileDirectories, UpdateSourceTrigger=PropertyChanged}"
      HeadersVisibility="Column" CanUserReorderColumns="False" CanUserAddRows="False" Margin="0,0,0,35" Grid.RowSpan="3">
<DataGrid.Columns>
    <DataGridCheckBoxColumn Header="Processed" Binding="{Binding Path=IsProcessingComplete, Mode=OneWay}" Width="70" IsReadOnly="True" />
    <DataGridTemplateColumn Header="template">
        <DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <ComboBox SelectedValue="{Binding Path=LogFileProcessType, Mode=TwoWay}"
                          SelectedItem="{Binding Path=LogFileProcessType, Mode=TwoWay}"
                          ItemsSource="{Binding Path=AvailableLogFileProcessTypes}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellEditingTemplate>      
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <ComboBox SelectedValue="{Binding Path=LogFileProcessType, Mode=TwoWay}"
                          SelectedItem="{Binding Path=LogFileProcessType, Mode=TwoWay}"
                          ItemsSource="{Binding Path=AvailableLogFileProcessTypes}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>                            
    </DataGridTemplateColumn>                        
</DataGrid.Columns>                    
</DataGrid>
Schreibe einen Kommentar