Cześć,

wykonuję binding w TestScenario.xaml, który jest User Control:

<ComboBox Grid.Row="7" Grid.Column="2" Margin="5" SelectedValue="Years" Name="cboOptimizedPeriods" Text="{Binding OptimizedPeriods}">Years</ComboBox>

Chciałbym uzupełnić listę wartości, którą użytkownik może wybrać:

cboOptimizedPeriods.ItemsSource = Enum.GetValues(typeof(AllowedOptimizedPeriods)).Cast<AllowedOptimizedPeriods>(); // list of allowed values

Natomiast później móc przypisać ją do właściwości obiektu:

cboOptimizedPeriods.DataContext = MainWindow.allTestScenariosList.Find(item2 => item2.ScenarioName == MainWindow.currentTestScenarioName);

Jednak otrzymuję wyjątek:

'The invocation of the constructor on type 'MT4Analyzer.TestScenario' that matches the specified binding constraints threw an exception.' Line number '23' and line position '37'.

I wewnętrzny wyjątek:

{"Items collection must be empty before using ItemsSource."}

Rozumiem, że kolekcja elementów musi być pusta przed użyciem ItemSource. Ja jednak chciałbym, aby użytkownik był ograniczony tylko do tych wartości, które znajdują się w enumeracji, czyli żeby jednak ta kolekcja nie była pusta przed bindingiem do klasy.

W jaki sposób mogę to osiągnąć, żeby przypisać do combo box listę dozwolonych wartości, a następnie wybraną wartość powiązać z obiektem poprzez binding?

Pozdrawiam!