У меня проблема с моим списком.
У меня есть два окна, LPO_Process и New_LPO. LPO_Process заполняет данные для New_LPO перед их отображением. У меня есть два поля со списком в New_LPO, один для поставщика, а другой для контактного лица. При изменении элемента списка поставщиков он обновляется для контактного лица.
private void cb_Suppliers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
cb_ContactPerson.DataContext = Database.LPO.Suppliers.SuppliersQuery.getContactPersonIdName(Convert.ToInt32(cb_Suppliers.SelectedValue));
cb_ContactPerson.DisplayMemberPath = "Name";
cb_ContactPerson.SelectedValuePath = "CPID";
}
Теперь я загружаю данные из LPO_Process, используя следующее:
viewLPO.cb_Suppliers.SelectedValue = Convert.ToInt32((dt_LPO.Rows[0]["SID"].ToString()));
//MessageBox.Show("TEST");
viewLPO.cb_ContactPerson.Text = (dt_LPO.Rows[0]["ContactPersonID"].ToString());
viewLPO.Show();
Используя debug, я вижу, что переданное значение является обязательным, однако при открытии нового окна поле контактного лица становится пустым.
Теперь странная часть: если я раскомментирую окно сообщения, перед тем, как окно откроется, появится сообщение, а после подтверждения в новом окне будет заполнено поле.
Возможно, проблема в том, что пользовательский интерфейс не заполняется должным образом, однако я попробовал несколько изменений, но ничего не помогло.
Любая идея о том, как поступить
XAML:
<ComboBox x:Name="cb_ContactPerson" HorizontalAlignment="Left" Margin="105,41,0,0" VerticalAlignment="Top" Width="279" ItemsSource="{Binding}" />