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!