Windows Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
Register at Vista forums...the world biggest Windows Vista resource Join Vista Forums Now

Go Back   Vista Forums > Microsoft Technical Newsgroups > Avalon

Dependent databinds (series of combos)

Update your Vista Drivers Update Your Drivers Now!!
Closed Thread
 
Thread Tools Display Modes
Old 12-13-2006   #1 (permalink)
Keith Patrick
Guest


 

Dependent databinds (series of combos)

I have an app with a series of combo boxes. The general idea is that you
select the first one, and that creates a parameter that feeds the next
combo, and so forth. They're all fed from a single XML datasource, and I
have no problem feeding the first combo. What I'm hung up on is how to have
the selection of the first trigger the 2nd combo to rebind using hte
parameter from the first in the XPath for the 2nd. Is this possible just in
markup, or do I need to tie the combos together via in-code event handlers?



My System SpecsSystem Spec
Old 12-13-2006   #2 (permalink)
Laurent Bugnion
Guest


 

Re: Dependent databinds (series of combos)

Hi,

Keith Patrick wrote:
> I have an app with a series of combo boxes. The general idea is that you
> select the first one, and that creates a parameter that feeds the next
> combo, and so forth. They're all fed from a single XML datasource, and I
> have no problem feeding the first combo. What I'm hung up on is how to have
> the selection of the first trigger the 2nd combo to rebind using hte
> parameter from the first in the XPath for the 2nd. Is this possible just in
> markup, or do I need to tie the combos together via in-code event handlers?


I thought it over and so far I don't see a solution with markup only.
Event handling is probably the one functionality where code-behind is
pretty much irreplacable. Is it a big problem for you to use code-behind?

Greetings,
Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
My System SpecsSystem Spec
Old 12-13-2006   #3 (permalink)
Laurent Bugnion
Guest


 

Re: Dependent databinds (series of combos)

Hi,

Keith Patrick wrote:
> I have an app with a series of combo boxes. The general idea is that you
> select the first one, and that creates a parameter that feeds the next
> combo, and so forth. They're all fed from a single XML datasource, and I
> have no problem feeding the first combo. What I'm hung up on is how to have
> the selection of the first trigger the 2nd combo to rebind using hte
> parameter from the first in the XPath for the 2nd. Is this possible just in
> markup, or do I need to tie the combos together via in-code event handlers?


I thought it over and so far I don't see a solution with markup only.
Event handling is probably the one functionality where code-behind is
pretty much irreplacable. Is it a big problem for you to use code-behind?

Greetings,
Laurent
--
Laurent Bugnion, GalaSoft
Software engineering: http://www.galasoft-LB.ch
PhotoAlbum: http://www.galasoft-LB.ch/pictures
Support children in Calcutta: http://www.calcutta-espoir.ch
My System SpecsSystem Spec
Old 12-13-2006   #4 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

Only problem I've been having is explicitly refreshing the datasource. I've
tried XmlDataProvider.Refresh() as well as XmlDataProvider.InitialLoad(),
but they won't update, so I was hoping to let the underlying runtime do
whatever it does the correct way to get the data updated.


My System SpecsSystem Spec
Old 12-13-2006   #5 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

Only problem I've been having is explicitly refreshing the datasource. I've
tried XmlDataProvider.Refresh() as well as XmlDataProvider.InitialLoad(),
but they won't update, so I was hoping to let the underlying runtime do
whatever it does the correct way to get the data updated.


My System SpecsSystem Spec
Old 12-15-2006   #6 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

It looks like I can do this declaratively using MultiBindings (the first
binding is to the XML, and the additional ones are for each combobox the
declared combo's filtering depends on). The only code I have to write is a
custom IMultiValueConverter to take the SelectedValues from the bindings &
do a String.Format with them & the XPath



My System SpecsSystem Spec
Old 12-15-2006   #7 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

It looks like I can do this declaratively using MultiBindings (the first
binding is to the XML, and the additional ones are for each combobox the
declared combo's filtering depends on). The only code I have to write is a
custom IMultiValueConverter to take the SelectedValues from the bindings &
do a String.Format with them & the XPath



My System SpecsSystem Spec
Old 12-18-2006   #8 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

Multibindings are actually overkill here. This is my solution, whereby the
combos all just talk in XML, such that the dependent relationship is
implicit in the hierarchical structure of the source XML. Any further
dependencies would then depend on ChildCombo, GrandChildCombo, etc.:

<StackPanel>
<ComboBox Name="ParentCombo"
ItemsSource="{Binding Source={StaticResource
XmlSource}, XPath=//Root/Parents/Parent}"
ItemTemplate="{StaticResource NamedXmlControl}"/>
<ComboBox Name="ChildCombo"
ItemsSource="{Binding ElementName=ParentCombo,
Path=SelectedItem, XPath=Children/Child}"
ItemTemplate="{StaticResource NamedXmlControl}"/>
</StackPanel>

where
<DataTemplate x:Key="NamedXmlControl">
<TextBlock Text="{Binding XPath=@Name}"/>
</DataTemplate>
<XmlDataProvider x:Key="XmlSource" .../>


My System SpecsSystem Spec
Old 12-18-2006   #9 (permalink)
Keith Patrick
Guest


 

Re: Dependent databinds (series of combos)

Multibindings are actually overkill here. This is my solution, whereby the
combos all just talk in XML, such that the dependent relationship is
implicit in the hierarchical structure of the source XML. Any further
dependencies would then depend on ChildCombo, GrandChildCombo, etc.:

<StackPanel>
<ComboBox Name="ParentCombo"
ItemsSource="{Binding Source={StaticResource
XmlSource}, XPath=//Root/Parents/Parent}"
ItemTemplate="{StaticResource NamedXmlControl}"/>
<ComboBox Name="ChildCombo"
ItemsSource="{Binding ElementName=ParentCombo,
Path=SelectedItem, XPath=Children/Child}"
ItemTemplate="{StaticResource NamedXmlControl}"/>
</StackPanel>

where
<DataTemplate x:Key="NamedXmlControl">
<TextBlock Text="{Binding XPath=@Name}"/>
</DataTemplate>
<XmlDataProvider x:Key="XmlSource" .../>


My System SpecsSystem Spec
Closed Thread

Thread Tools
Display Modes



Similar Threads
Thread Thread Starter Forum Replies Last Post
Anyone experiencing wheel problems in MS Wireless Laser mouse/keyboard combos? EdricBF Vista hardware & devices 5 12-27-2007 10:17 PM
Powershell and loading dependent assemblies Steve PowerShell 2 05-10-2007 01:05 PM
IE7/Vista Favorites Menu REVELATION! UAC dependent! Frankster Vista General 5 03-14-2007 07:56 PM
Application-dependent internet speeds Ben Vista networking & sharing 0 12-20-2006 05:31 AM
Re: Dependent databinds (series of combos) Keith Patrick Avalon 0 12-18-2006 12:40 PM


Vistax64.com 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 2005-2008

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 47 48 49 50 51