我將組合框綁定到另一個組合框時存在問題。我試圖從第一個組合框動態傳遞參數(id)到啓動第二個組合框的方法。例如,如果我在第一個組合框中選擇第一個項目,則第二個組合框將使用從第一個組合框中選擇的參數進行初始化。將組合框綁定到另一個組合框
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; }
}
這可能嗎?感謝任何答案!
它'不清楚。第二個組合框必須顯示什麼? Id,Name ...! – Amine
有幾種IT服務。每項IT服務都有一些指標。我必須在第一個組合框IT服務中進行選擇,並將其傳遞給方法GetMetricName(SelectedService),以便在所選(在第一個組合框)IT服務的第二個組合框度量標準中顯示。 – Eluvium
顯示名稱,但選定的值必須是Id – Eluvium