Silverlight ComboBox每个项目有两个字段

时间:2011-06-03 16:36:23

标签: combobox silverlight-3.0

我想在comboBox中显示的myItem.title可观察集合中的每个项目上显示myItem.urlcomboBox.ItemsSource。换句话说,我想看到组合框中的每一行都保存并显示两条信息。

不确定如何执行此操作或是否可行。

我如何编写xaml然后让itemSource.Add()每个实际项目接受2个项目?

感谢您的帮助!

编辑:(已解决)

我已经提出了这个xaml,但我不知道如何从代码中访问FiledOneFieldTwo

<ComboBox Canvas.Left="410" Canvas.Top="174" Height="23" Name="addresses_combo" Width="408" SelectionChanged="address_changed">
                <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding FieldOne, Mode=OneWay}" />
                            <TextBlock Text="{Binding FieldTwo, Mode=OneWay}" />
                        </StackPanel>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
</ComboBox>

EDIT2 :(已解决)

如何在两个TextBlock节点之间插入新行?

<TextBlock Text="{Binding FieldOne, Mode=OneWay}" />
<TextBlock Text=" \n <--this doesn't work obviously" />
<TextBlock Text="{Binding FieldTwo, Mode=OneWay}" />

- 或者至少让其中一个变粗,另一个变得规则。这样两个领域之间就会有明显的区别......

1 个答案:

答案 0 :(得分:2)

使用你提供的XAML,你需要这样的东西:

itemSource.Add(new ItemClass(title,url));

将ItemClass定义为:

public class ItemClass
{
    public string FieldOne {get;set;}
    public string FieldTwo {get;set;}
}