I have a number of combo boxes in a window that I need to setup two-way binding on, however I can't seem to figure out how to do it. I have successfully set up basic binding to fill the control where I have the ItemsSource="{Binding}" and I set my DataContext in my C# code behind. I also have two-way binding working on all of the other controls in the window
Let's say I have an object and I am returning an ObservableCollection of it and I want to display Name which is a string. I want the value member to be an ID which is an integer. Is there a code snipped you can please provide that shows how to do two way binding on the ID? I can't seem to find a ValueMember property anywhere, and basically XamComboBox binding is a mystery for me.
Thank you for a very simple and basic xaml code snippet.
Hello Mike,
I have been looking into the functionality that you are looking for and the XamComboEtidor have a ValuePath property which provides a two way binging to the value of the cell in which the editor is used. For example, you have the following scenario: you have an int field called ItemID which represents a int property in you data source and you wish to display string representation of the integer value of this field. You create class called Item that have a Name and ID properties and you create an ObservableCollection<Item> and set it as ItemsSource to a XamComboEdtior used in the ItemID field. You are setting the DisplayPath to Name in order to display name of the item instead of the integer value of the cells in the field. When you set the ValuePath to ID you will create a two way binging between the ID property of the SelectedItem of the XamComboEditor and the property that is represented by the Cell in which the XamComboEditor is displayed. I have created a sample application that demonstrates the described scenario.
Please let me know if this is what you are looking for or I have misunderstood you in any way.
Looking forward to hearing from you.
Sincerely,
Krasimir
Developer Support Engineer
Infragistics
www.infragistics.com/support
Krasimir,
Close, if my combo boxes were in a grid, but they are in a window. Here is some sample code. In my xaml I have:
<Label Content="Clinic" Height="28" HorizontalAlignment="Left" Margin="223,113,0,0" Name="lblClinic" VerticalAlignment="Top" Width="90" /> <ig:XamComboEditor HorizontalAlignment="Left" Margin="223,138,0,0" Name="cbClinic" VerticalAlignment="Top" Width="158" DisplayMemberPath="Name" ItemsSource="{Binding}" IsEditable="False" />
In my C# code I am setting the DataContext of the XamComboEditor with an ObservableCollection
this.cbClinic.DataContext = new Clinic().SelfListAll();
So, if I want to set two way binding in a XamComboEditor, I can't find a
ValuePath in a XamComboEditor. Your example will be ultimately helpful
to me, but I'm looking to do this not in a grid, but just with a
standalone XamComboEditor in a window.
Here is an example of what I am doing to bind a text control:
<TextBox Height="23" HorizontalAlignment="Left" Margin="223,26,0,0" Name="txtFirstName" VerticalAlignment="Top" Width="158"> <TextBox.Text> <Binding Path="FirstName" Mode="TwoWay" ValidatesOnDataErrors="True" ValidatesOnExceptions="True" NotifyOnValidationError="True" UpdateSourceTrigger="PropertyChanged"></Binding> </TextBox.Text> </TextBox> Thanks.
<TextBox Height="23" HorizontalAlignment="Left" Margin="223,26,0,0" Name="txtFirstName" VerticalAlignment="Top" Width="158"> <TextBox.Text> <Binding Path="FirstName" Mode="TwoWay" ValidatesOnDataErrors="True" ValidatesOnExceptions="True" NotifyOnValidationError="True" UpdateSourceTrigger="PropertyChanged"></Binding> </TextBox.Text> </TextBox>
Thanks.