0

我怎样才能在我的 ComboBox 项目中实现这种行为:(n): Name

其中 n 和 Name 是两个可绑定的属性。现在我有n Name

这是我的代码:

<ComboBox.ItemTemplate>
    <DataTemplate>
        <TextBlock>
            <Run Text="{Binding n}" />
            <Run Text="{Binding Name}" />
        </TextBlock>
    </DataTemplate>
</ComboBox.ItemTemplate>

我认为添加两个<Run Text="("/>等可以完成,但 XAML 中必须有更优雅的东西。

4

2 回答 2

1

好的,这很容易:

 <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock>
                            <TextBlock.Text>
                                <MultiBinding StringFormat="{}({0}): - {1}">
                                    <Binding Path="n" />
                                    <Binding Path="Name" />
                                </MultiBinding>
                            </TextBlock.Text>
                        </TextBlock>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
于 2013-06-24T12:32:07.397 回答
1

另一种方法是使用多个 TextBlock,如下所示:

<DataTemplate>
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="{Binding Path=...}"></TextBlock>
        <TextBlock Text="{Binding Path=...}"></TextBlock>
    </StackPanel>
</DataTemplate>

你可以用 WrapPanel 或任何你喜欢的东西替换 StackPanel。

于 2015-07-14T14:43:22.080 回答