У меня проблема с привязкой combobox к другому combobox. Я пытаюсь динамически передать параметр (id) из первого combobox в метод запуска второго combobox. Например, если я выбрал первый элемент в первом поле со списком, то второй combobox будет инициализироваться параметром, выбранным из первого списка.Связывание combobox с другим combobox
XAML:
<ComboBox Name="ItServiceCmbox" ItemsSource="{Binding ItServiceMetricsNames}" DisplayMemberPath="ServiceName" SelectedValuePath="ServiceId" />
<ComboBox Name="MetricCmbox" ItemsSource="{Binding SelectedItem.MetricId, ElementName=ItServiceCmbox}" DisplayMemberPath="MetricName" SelectedValuePath="MetricId"/>
C#:
public partial class MainWindow : Window
{
readonly MetricsValuesHelper _metricsValuesHelper = new MetricsValuesHelper(new Repository());
public static int SelectedService;
public static int SelectedMetric;
public ObservableCollection<ItServiceMetricsNames> ItServiceMetricsNames { get; set; }
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
SelectedService = Convert.ToInt32(ItServiceCmbox.SelectedItem);
ItServiceMetricsNames = new ObservableCollection<ItServiceMetricsNames>();
ItServiceMetricsNames.Add(new ItServiceMetricsNames()
{
ServiceId = _metricsValuesHelper.GetServiceId(),
ServiceName = _metricsValuesHelper.GetServiceName(),
MetricId = _metricsValuesHelper.GetMetricId(SelectedService),
MetricName = _metricsValuesHelper.GetMetricName(SelectedService)
});
}
}
И ItServiceMetricsNames класс:
public class ItServiceMetricsNames
{
public List<int> ServiceId { get; set; }
public List<string> ServiceName { get; set; }
public List<int> MetricId { get; set; }
public List<string> MetricName { get; set; }
}
Возможно ли это? Спасибо за любые ответы!
Его не ясно. Что должен отображать второй ComboBox? Id, Name ... !! – Amine
Существует несколько ИТ-сервисов. У каждого ИТ-сервиса есть несколько показателей. Я должен выбрать в первой IT-службе combobox и передать ее методу GetMetricName (SelectedService) для отображения во вторых метках combobox для выбранного (в первом combobox) IT-сервиса. – Eluvium
Отображаемое имя, но выбранное значение должно быть Id – Eluvium