0

我想添加组合框项目并使用模块中的任何其他控件,但是当我尝试在那里使用我的组合框时,无法识别。在Window Form Application中没有问题,但是在WPF应用程序中我现在不知道该怎么做?

在 WinForm App 我在 Module.vb 中做类似的事情

 Sub FillComboBox()

        Dim SQLStr As String = "use testowa Select COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME = 'Import')"
        Dim Reader As SqlDataReader
        Dim cmd As New SqlCommand(SQLStr, myConnection)

        Form2.ComboBox7.Items.Add("None")
        Form2.ComboBox3.Items.Add("None")


        Reader = cmd.ExecuteReader()

        While Reader.Read()
            Form2.ComboBox1.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox2.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox4.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox5.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox6.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox7.Items.Add(Reader.Item("COLUMN_NAME"))
            Form2.ComboBox3.Items.Add(Reader.Item("COLUMN_NAME"))
        End While

        Reader.Close()


    End Sub

现在我需要在 WPF 应用程序中做同样的事情。

请帮忙,这些是我在 WPF 中的第一步 :)

4

2 回答 2

1
  • 从您的 SQL 中填充一个集合(例如字符串列表)
  • 将此集合设置为您的组合框的 ItemsSource

就这样

ps:请阅读一些关于 wpf 中绑定的内容。不要尝试使用 wpf 编写您的 winform 样式。

于 2012-10-25T13:21:43.833 回答
1

下面是一个简单的示例来向您展示该模式:

XAML:

<Window x:Class="EmptyWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" MinWidth="200">
    <Grid>
        <ComboBox ItemsSource="{Binding myList}" />  
    </Grid>
</Window>

主窗口.cs:

public partial class MainWindow : Window
{
    private List<string> _mylist;
    public List<string> myList
    {
        get
        {
            return _mylist;
        }
        set
        {
            _mylist = value;
        }
    }

    public MainWindow()
    {
        InitializeComponent();
        _mylist = new List<string>() { "Item1", "Item2", "Item3" };
        DataContext = this;
    }
}

如果您需要在应用程序运行时更改集合,并且希望组合框对更改做出反应,请使用 ObservableCollection 而不是 List。

如果您从未接触过 WPF,一个很好的起点是 www.wpftutorial.net

于 2012-10-25T13:31:47.487 回答