namespace xxxx.yyyy.ViewModels
{
class OrderDetailComboModalView : ViewModel
{
#region Item Sources
public ObservableCollection<OrderBooking> OrderList { get; set; }
public ObservableCollection<Buyer> BuyerList { get; set; }
#endregion
#region Binding Examples
// Property backing fields.
string selectedOrderBookingCode;
string selectedOrderBookingCode1;
string selectedOrderBookingCode2;
string selectedBuyerCode;
/// <summary>
/// Gets or sets the shipping source country.
/// </summary>
public string SelectedOrderBookingCode
{
get { return this.selectedOrderBookingCode; }
set
{
this.selectedOrderBookingCode = value;
this.selectedOrderBookingCode1 = value;
this.selectedOrderBookingCode2 = value;
this.NotifyPropertyChanged("SelectedOrderBookingCode1");
this.NotifyPropertyChanged("SelectedOrderBookingCode2");
this.NotifyPropertyChanged("SelectedOrderBookingCode");
if (this.selectedOrderBookingCode.Length > 8)
{
this.selectedBuyerCode = this.selectedOrderBookingCode.Substring(6, 2);
this.NotifyPropertyChanged("SelectedBuyerCode");
}
}
}
public string SelectedOrderBookingCode1
{
get { return this.selectedOrderBookingCode1; }
set
{
this.selectedOrderBookingCode1 = value;
this.NotifyPropertyChanged("SelectedOrderBookingCode1");
}
}
public string SelectedOrderBookingCode2
{
get { return this.selectedOrderBookingCode2; }
set
{
this.selectedOrderBookingCode2 = value;
this.NotifyPropertyChanged("SelectedOrderBookingCode2");
}
}
public string SelectedBuyerCode
{
get { return this.selectedBuyerCode; }
set
{
this.selectedBuyerCode = value;
this.NotifyPropertyChanged("SelectedBuyerCode");
}
}
#region Constructors
public OrderDetailComboModalView()
{
// Instantiate our item sources.
this.OrderList = new ObservableCollection<OrderBooking>();
this.BuyerList = new ObservableCollection<Buyer>();
// Simulate data retrieval.
this.PopulateBookingOrder();
this.PopulateBuyer();
}
#endregion
#region Simulated Data-Retrieval Methods
/// <summary>
/// Simulate the population of data. In reality this method would most likely be retrieving data from a database, web service, config file, etc.
/// </summary>
public void PopulateBookingOrder()
{
// Simulate the population of the Countries ObservableCollection.
OrderList = Populate.PopulateBookingOrder();
this.SelectedOrderBookingCode = "-1";
this.NotifyPropertyChanged("SelectedOrderBookingCode");
}
public void PopulateBuyer()
{
// Simulate the population of the Countries ObservableCollection.
BuyerList = Populate.PopulateBuyer();
this.SelectedBuyerCode = "-1";
this.NotifyPropertyChanged("SelectedBuyerCode");
}
#endregion
}
}
![]()
Hi I am relatively new to wpf and in particularly prism or more loosely MVVM. In-fact I may be using Prism at higher level such as navigation via ribbon etc. But at lower level particularly inter-communication between UserControls I have this requirement
Where I have ComboBox => OrderBooking when I select a value (from Tab1 => UserControl1) It should select same orderNo
in (Tab2 => UserControl2) both populated from same data.
This part repeated in all userControls:-
========================
xmlns:ViewModels="clr-namespace:xxx.yyy.ViewModels"><UserControl.DataContext><ViewModels:OrderDetailComboModalView /></UserControl.DataContext>
Tab1=>UserControl1
<ComboBox Text="" Name="cmbOrderBookingNo"
ItemsSource="{Binding OrderList, Mode=OneWay}"
DisplayMemberPath="Name"
SelectedValue="{Binding SelectedOrderBookingCode}"
SelectedValuePath="Code"
Tab2=>UserControl2:-
==============
<ComboBox Text="" Name="cmbOrderBookingNo"
ItemsSource="{Binding OrderList, Mode=OneWay}"
DisplayMemberPath="Name"
SelectedValue="{Binding SelectedOrderBookingCode1}"
SelectedValuePath="Code"
Both Combos are populated ok
===================
BuyerCombo is also populated according to selection Tab1(Both these combos reside in the same Control -> UserControl1)
But When I select OrderBooking Combo in tab1 the same selection does not happen in OrderBooking Combo in UserControl in Tab2
Please does anybody what the problem is?
<orderbooking><buyer><orderbooking><buyer></buyer></orderbooking></buyer></orderbooking>