c# - 在一个组合框中显示数据库中的多列

标签 c# .net wpf mvvm

我想在一个组合框中显示来自两个数据库列的内容。我想显示“姓氏”,但我不知道如何显示。我正在使用 MVVM 模式在 C# (.NET) 中工作。 “姓名”和“姓氏”是表“tblGuests”中的字段。

提前致谢,
弗拉基米尔

最佳答案

您可以为 ComboBox 创建一个 ItemTemplate,它绑定(bind)到您要显示的所有属性。

<ComboBox ItemsSource="{Binding}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <StackPanel  Orientation="Horizontal">
                <TextBlock Text="{Binding Path=FirstName}" Padding="10,0,0,0"/>
                <TextBlock Text="{Binding Path=LastName}" Padding="10,0,0,0"/>
            </StackPanel>
        <DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

您甚至可以创建一个可以重复使用的 UserControl 并使用它:
<PersonView>
    <StackPanel  Orientation="Horizontal">
        <TextBlock Text="{Binding Path=FirstName}" Padding="10,0,0,0"/>
        <TextBlock Text="{Binding Path=LastName}" Padding="10,0,0,0"/>
    </StackPanel>
</PersonView>

<ComboBox ItemsSource="{Binding}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <PersonView/>
        <DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

关于c# - 在一个组合框中显示数据库中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16891503/

相关文章:

.net - 有没有办法将 Setter 元素放入 EventTrigger 中?

c# - 使用 System.Drawing.Graphics 在 Windows 窗体控件上绘画

c# - 如何创建包含开放通用接口(interface)的 List<T> ?

c# - 使用linq通过两个表中的多列进行简单连接的问题

c# - 在应用程序内操作 PowerShell?

wpf - 设置 WPF/XAML 窗口客户区大小

c# - DllImport 用于一组导入函数

.net - 为什么 'sealed'会影响IDisposable的实现?

c# - 为什么在 ConfigurationManager.AppSettings[key] 上调用 .ToString()?

.net - 我想要 Spy++,但我没有 Visual Studio