.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
david stephan
Gaurav Pal
Post New Web Links

Binding ListBox to ComboBox's SelectedItem

Posted By:      Posted Date: September 13, 2010    Points: 0   Category :WPF
Hi All,   I have a ComboBox that is bound to a collection of People. When the user selects a Person in the ComboBox, I want a ListBox below that to be populated wtih the Person's Friends.   Is it something like:   <ComboBox x:Name="PeopleComboBox" ItemsSource="{Binding People}"/> <ListBox ItemsSource="{Binding ElementName=PeopleComboBox, Path=SelectedItem.Friends}"/>   I'm going for something like that.

View Complete Post

More Related Resource Links

How to Bind ListBox to ComboBox's SelectedItem

I have a ComboBox bound to a list of custom objects (Person). Each Person has a Friends collection. I want a ListBox below the ComboBox to contain a list of Friends depending on the Person selected in the ComboBox above it.   Something like: <ComboBox x:Name="MyComboBox" ItemsSource="{Binding People}"/> <ListBox ItemsSource="{Binding Element=MyComboBox, Path=SelectedItem.Friends}"/>   It doesn't work (null reference, I'm assuming because the SelectedItem.Friends is the wrong syntax.   Any pointers?

Combobox inside Listbox binding issue

I am lost...

I have the following two classes (simplified)

Class Parent
    String Description{get;set;} 
    ObservableCollection<Children> ListOfChildren = new ObservableCollection<Children>();

Class Children
    public string Name{get;set;}

And the following two lists :

public List<Parent> ListOfParents = new List<Parent>();
public static List<Children> StaticListOfChildren=new List<Children>();

Now I have a list in XAML, I set the datacontext of this list to the "ListOfParents" (in code) and set the ItemSource="{Binding}"
All works fine so far. Inside this list I have another list containing the "ListOfChildren" list. The itemtemplate of this list contains a combobox. This combobox binds to the "StaticListOfChildren" list. The problem is now I can't get the selecteditem of the combobox to bind to the Children item in the ListOfChildren.... Can anyone help ??

<ListBox x:Name="lbMaterialsBuildup" HorizontalContentAlignment="Stretch" ItemsSource="{Binding}">

ActiveX and Visual Basic: Enhance the Display of Long Text Strings in a Combobox or Listbox


The combobox and listbox controls in Visual Basic have no built-in support for displaying text strings that are too long to fit in the visible area of either control. This article describes several techniques to improve the readability of long strings in each control. The first technique uses tooltips to display a combobox or listbox item. The other techniques, which use various Windows APIs, include adding a horizontal scrollbar for a listbox and determining the necessary width of the longest string given the font attributes of the text. The required steps are described for both comboboxes and listboxes.

John Calvert

MSDN Magazine December 2000

Binding value to combobox or dropdown


How can we bind a value to a combobox or dropdown? What is the property for binding a value? 


Data binding a listbox

I'm using VS 2010 and writing a WPF application.  I have a listbox on a form that I want bound to an access database field.  In the code behind I create the usual oledb connection, command and adapter and run a query.  In debug I can see the dataset has 143 items from the database, a single column called "path".  Here's the relevant code:  oleCon.Open(); adpt.SelectCommand = oleComd; adpt.Fill(dtst,"MyTable"); MusicList.DataContext = dtst; MusicList is the listbox.  There's 143 items in the dataset.  When the form loads the listbox is empty.  Here's the xaml for the listbox: <ListBox Grid.Row="1" Height="477" HorizontalAlignment="Left" Margin="7,6,0,0" Name="MusicList" VerticalAlignment="Top" Width="310" Grid.RowSpan="2" Background="#002400" ItemsSource="{Binding Path=path, Mode=OneTime}" DataContext="{Binding}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Path=path}" /> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> At least I know the data is present but why isn't it binding to the listbox? Thanks!  

Sorting a ListBox or ComboBox on a Converted Value

Is it possible to apply a Converter to the SortDescription of a CollectionViewSource?  My ViewModel contains a List<> of a class that contains an enum and a Boolean.  My XAML displays a multi-select ListBox, showing the localized names of the enum values using a Converter in the View, and binds each ListBoxItem's IsSelected to the Boolean in the members of the bound List<>.  That's working.  Now I want to sort the ListBox items by those localized enum names, without reordering the List<> in the ViewModel.  Is this possible, and if so, how can it be done?

TextBox shows binding source text when window load, so why not with the ComboBox?

How can I get a ComboBox to show the binding source value when my window opens?  I have been searching all day for a solution to this, but cannot find anything.  So I have created a sample project to demonstrate my problem.  Below is a Vehicle class, very simple, two members Category and Make.  Category is an enumeration, Make is a string. namespace ComboExample { public class Vehicle { // Constants and enumerations public enum eCategory { Road, Air, Sea } // Attributes public eCategory Category { get; set; } public String Make { get; set; } // Construction public Vehicle(eCategory Category, String strMake) { this.Category = Category; this.Make = strMake; } } } Here is the C# for the MainWindow.  A new Vehicle object is created as a member.  In the constructor I set a data-provider in the XAML to this Vehicle object.  There is a button event for showing the values of the controls and objects so I can check the binding. namespace ComboExample { // Interaction logic for MainWindow.xaml public partial class MainWindow : Window { // Attributes Vehicle m_Car = new Vehicle(Vehicle.eCategory.Road, "BMW"); // Construction public MainWindow() { InitializeComponent(); // link data-p

ajax combobox having problem in binding data

Hi i am using ajaxtoolkit:combobox and i tried to bind data to this control in code behind file. but it is taking 3 to 4 mints to bind data and display the page. what is the problem? I am providing my aspx code and code behind code here<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="Dashboards_TestPage" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="cphMain" Runat="Server"> <asp:ScriptManager runat="server" ID="scriptMgr"> </asp:ScriptManager> <table border="1"> <tr> <td> <ajaxToolkit:ComboBox ID="ddlProgram" runat="server" DropDownStyle="DropDownList" AutoCompleteMode="SuggestAppend" CaseSensitive="False" MaxLength="10"> </ajaxToolkit:ComboBox> </td> </tr> </table> </asp:Content>  Code behind code:public partial class Programs_TestPage : System.Web.UI.Page { ProgramData programData = new ProgramData(); protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack)

Element Binding - ComboBox

  <ComboBox Height="23" HorizontalAlignment="Left" Margin="139,59,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" > <ComboBoxItem Content="Spain"/> <ComboBoxItem Content="England"/> </ComboBox> <ComboBox Height="23" HorizontalAlignment="Left" Margin="139,154,0,0" Name="comboBox2" VerticalAlignment="Top" Width="120" > <ComboBoxItem Content="Madrid"/> <ComboBoxItem Content="Barcelona"/> <ComboBoxItem Content="London"/> <ComboBoxItem Content="Birmingem"/> </ComboBox> I've problem... I want to use element binding, in this source to filter Cities by selected Countries how do it?  

How can i do TwoWay Binding between listbox and datatable

I've bound my listbox to a datatable using the following code: Me.TasksListBox.DataContext = dt The datatemplate in the listbox is a collection of controls like textboxes and comboboxes, each of which is bound to a column in the datatable. The data loads fine in the listbox. As the users modify the data in the listbox by modifying combo boxes , textboxes of items in the listbox , i want the changes to propogate to datatable dt so i can save the values in the database. I am unable to figure out how this can be done. Thanks  

page.setfocus(listbox.selecteditem) is not setting the focus if index > 820

Hi All, Does any one know the reason Why I am unable to setfocus to my list box if the index > 820 My list box contains 2000 items and the index is not  able to set the focus if the index > 820  

Listbox - Temporary suspend Data Binding

Hi. I have a listbox bound to an ADO.NET DataTable (by his DataView) thorough ItemSource property. Whenever I add a new row to DataTable, listbox reflects that change showing an empty item. I want to late the listbox updating until row is committed to database but I can't find the right way. I tried create a Binding using BindingMode.OneTime but it doesn't work. Dim bind As New Binding bind.UpdateSourceTrigger = UpdateSourceTrigger.Explicit bind.Mode = BindingMode.OneTime bind.Source = tblRaccoltePunti.DefaultView lstRaccoltePunti.SetBinding(ListBox.ItemsSourceProperty, bind) I need a way to suspend the DataBinding to manually update listbox when row is committed.

ListBox.SelectedItem stuck at whatever is first selected and other strange ListBox behavior

Hi, I've built a List<Participant> (Participant being my custom type) and assigned this to ListBox.ItemsSource. (I'm aware this is more the Windows Forms way than the WPF way of databinding, but I'd still like to understand what's going on here - even though suggestions on how to perform my task in a more WPF-y way are also welcome.) I've set ListBox.SelectionMode to Single, and attached an event handler to the SelectionChanged event. In this handler, I dump the SelectedIndex and SelectedItem to debug output. Contrary to my expectation, 1) SelectedIndex is always -1. This isn't really causing me any trouble, but it's certainly not what I'd expect. 2) SelectedItem refers to the correct object the first time (in the windows lifetime) I select an item, but then keeps referring to this first-selected item regardless of whether I deselect (by clicking the item again while holding down the CTRL key) or select some other item. 3) If I keep clicking around and scrolling a bit (the list has ~320 items) within the list, now and then the list suddenly displays a bunch of items - sometimes many in a row, sometimes non-contiguous items, but it seems always "nearby" items! - as if they were selected. The list keeps firing the SelectionChanged event, but SelectedIndex is forever -1 and SelectedItem (and SelectedValue) always refers to whatever I had selected the fir

Binding SharePoint Multiline textbox to a infopath repeating table Listbox

Hi, I have a InfoPath form  with repeating table control which gets the data from a sharepoint list. I'm trying to bind a multiline textbox to a listbox and intend to get the line by line data entered in the multiline textbox in sharepoint to show as same line by line in the form's listbox. or is there any other way of getting this done.  Thanks.

Problem whit ComboBox binding in WPF

Here are my main classes: Configuration { List<Environment > EnvironList, Source ConfigSource } Source { List<FileSource > FileSourceList } FileSource {} inherits class     SourceInfo { string Id, string Source } Environment { List<FileDestination > EnvirFileList } FileDestination { List<String> DestinationList } and inherits class     Info { string SourceId } Info .SourceId refers to SourceInfo .Id. Example: Id="mySource" Source="C:\PathToMyFiles" The Configuration is read from an XML file. In my display, I want to gatter all the SourceInfo objects of my Configuration and put them in a comboBox, to be available for selection in the Environment ->FileDestination ->Info .SourceId. So far, no problem. I also want to select the current value. I did that by putting it at the begining of the list and selecting that index when the list is created. The problem I have is when I try to modify the value. When I change the selection, it shows me the new value, but that value is never saved. If I reload the list, the old value is selected. Also, when I add a new File in the  Environment .EnvirFileList, the SourceId is never added to the XML file. That XML file is create with Serialized properties from my classes. If I remove the ComboBox and use a textbox, the value is added to the XML file. Below is

Combobox DisplayMembertPath Setted : Never change SelectedItem



I begin with WPF and binding. In my project, i have one Combobox which is binded (ItemsSource) to an ObservableCollection<Organization> (dependency property in MainWindow code-behind).

My class Organization contains a property called "Name" and i want to display it in items, so i set DisplayMembertPath to "Name".

But when i do that, if i change the item in the combobox, the item doesn't change instead of code-behind side, the SelectedItem changes.

I tried to use a DataTemplate with a TextBlock binded to the Name property, i have the same issue.


Here my code-behind (MainWindow.xaml.cs) :


public ObservableCollection<Organization> OrganizationCollection
   get { return (ObservableCollection<Organization>)GetValue(OrganizationCollectionProperty); }
   set { SetValue(OrganizationCollectionProperty, value); }
  public static readonly DependencyProperty OrganizationCollectionProperty = 

Adding new rows to Datagrid with a Combobox column generate "two-way binding requires path or xpath"



    I have datagrid control with a template combobox column like:

 <DataGridTemplateColumn Header="Fault code" Width="75">
                                    <TextBlock Text="{Binding FaultCode1}" />

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend