I have a UserControl with a ComboBox based on XML data:
<Root> <Node Background="Yellow" Foreground="Cyan" Image="1.ico" Property="aaaa" Value="28" /> <Node Background="SlateBlue" Foreground="Black" Image="2.ico" Property="bbbb" Value="2.5" /> <Node Background="Teal" Foreground="Green" Image="3.ico" Property="cccc" Value="4.0" /> <Node Background="Yellow" Foreground="Red" Image="4.ico" Property="dddd" Value="0" /></Root>
Here is the UserControl XAML element:
<UserControl x:Class="xxxxxxxx.MyComboBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="myComboBoxControl"> <UserControl.Resources> <DataTemplate x:Key="dataTemplateNode"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" MinWidth="20"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto" MinWidth="20"/> </Grid.ColumnDefinitions> <Border Background="{Binding XPath=@Background }" Grid.Column="0"> <Image Source="{Binding XPath=@Image }" Width="16" Height="16" Margin="3" /> </Border> <Border Background="{Binding XPath=@Background }" Grid.Column="1"> <TextBlock Foreground="{Binding XPath=@Foreground }" Margin="3" Text="{Binding XPath=@Property }" /> </Border> <Border Background="{Binding XPath=@Background }" Grid.Column="2"> <TextBlock Foreground="{Binding XPath=@Foreground }" Margin="3" FontWeight="Bold" Text="{Binding XPath=@Value }" /> </Border> </Grid> </DataTemplate> <XmlDataProvider x:Key="xmlNodeList" Source="/data/Combo.xml" XPath="/Root/Node"/> </UserControl.Resources> <ComboBox Name="myComboBox" ItemsSource="{Binding Source={StaticResource xmlNodeList}}" ItemTemplate="{StaticResource dataTemplateNode}" HorizontalContentAlignment="Stretch" /></UserControl>
In MainForm.xaml, I have a TextBox that I want to bind to the UserControl SelectedItem.
<StackPanel Orientation="Horizontal"> <local:MyComboBox1 x:Name="comboBoxST" /> <TextBox x:Name="textBoxST"/></StackPanel>
I will be glad if you advise me how to do this.
Thanks in advance!
wpf binding combobox
user83493
source share