Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - Textbox value to filter databound ListBox items?

 
 
Old 09-23-2006   #1 (permalink)
Olav


 
 

Textbox value to filter databound ListBox items?

I have a ListBox which is bound to a list of data items.

Now I want the user to be able to filter the items shown in the ListBox
based on the search expression typed in the TextBox. For each character
typed in the TextBox, the ListBox items should change to show only the items
matching the search expression.

Does anyone have a small sample showing how to set this up in the most
elegant way?

Olav


My System SpecsSystem Spec
Old 09-23-2006   #2 (permalink)
Douglas Stockwell


 
 

Re: Textbox value to filter databound ListBox items?

That depends on your definition of most elegant. But this one is pretty
straightforward.

- Doug

public class FilterModel
{
ListCollectionView view;

public FilterModel()
{
List<string> data = new List<string>();
data.Add("John");
data.Add("Mary");
data.Add("Joe");
data.Add("Bob");

view = new ListCollectionView(data);
}

public ListCollectionView List
{
get { return view; }
}

public string Filter
{
set
{
view.Filter = new Predicate<object>(
delegate(object item)
{
return item.ToString().StartsWith(value);
});
}
}
}


<Window x:Class="WindowsApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:model="clr-namespace:"
>

<DockPanel>
<DockPanel.DataContext>
<model:FilterModel />
</DockPanel.DataContext>
<TextBox Text="{Binding Path=Filter, UpdateSourceTrigger=PropertyChanged,
Mode=OneWayToSource}"
DockPanel.Dock="Top"/>
<ListBox ItemsSource="{Binding List}" />
</DockPanel>
</Window>

"Olav" <x@y.com> wrote in message
news:OSLvcSy3GHA.4976@TK2MSFTNGP02.phx.gbl...
>I have a ListBox which is bound to a list of data items.
>
> Now I want the user to be able to filter the items shown in the ListBox
> based on the search expression typed in the TextBox. For each character
> typed in the TextBox, the ListBox items should change to show only the
> items matching the search expression.
>
> Does anyone have a small sample showing how to set this up in the most
> elegant way?
>
> Olav


My System SpecsSystem Spec
 

Thread Tools



Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46