组合框选择项目显示在列表框中

时间:2011-04-17 17:53:10

标签: wpf xaml binding

在WPF和xaml中我想要一个包含list0 - list5

等项目的组合框

现在,当我选择该项目或索引时,我希望它显示在列表框中。

我希望它用下面的单词和正确的索引填充列表框,就像我选择它在列表框中显示的第一个“List0”:

foo0
bar0
baz0
toto0
tintin0

所以,当我在组合框中选择“list3”时

它会显示那些选择了正确索引的单词......这可以用xaml吗?

如果不能在xaml中完成,我可以在C#中使用xaml项目吗?

这是我想要完成的图片!

enter image description here

1 个答案:

答案 0 :(得分:1)

仅使用XAML示例:

xmlns:sys="clr-namespace:System;assembly=mscorlib"
<StackPanel>
    <ComboBox Name="cb" SelectedIndex="0">
        <ComboBoxItem Content="List0"/>
        <ComboBoxItem Content="List1"/>
        <ComboBoxItem Content="List2"/>
        <ComboBoxItem Content="List3"/>
        <ComboBoxItem Content="List4"/>
        <ComboBoxItem Content="List5"/>
    </ComboBox>
    <ListBox>
        <ListBox.ItemsSource>
            <x:Array Type="{x:Type sys:String}">
                <sys:String>foo</sys:String>
                <sys:String>bar</sys:String>
                <sys:String>baz</sys:String>
                <sys:String>toto</sys:String>
                <sys:String>tintin</sys:String>
            </x:Array>
        </ListBox.ItemsSource>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock>
                    <TextBlock.Text>
                        <MultiBinding StringFormat="{}{0}{1}">
                            <Binding Mode="OneWay"/>
                            <Binding Path="SelectedIndex" ElementName="cb"/>
                        </MultiBinding>
                    </TextBlock.Text>
                </TextBlock>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</StackPanel>