如何在WPF中动态创建标签和文本框列表?

时间:2010-08-25 15:28:24

标签: wpf data-binding

我正在尝试并且失败,在WPF中创建标签和文本框列表。我是一名ASP.NET开发人员,目前XAML的体验对我来说有点让我感到压力......我在我面前的Apress'Pro WPF 3.0书中找到了零用途......

在我的流程结束时,我希望用户完成一些对该用户来说是动态的问题。我有一个对象数组,其中包含“问题”和“答案”的属性。

我希望“问题”显示为标签。

我一直在看ListView控件,但这似乎给了我一个我不感兴趣的Excel样式网格。

在ASP.NET世界中,我使用GridView,它有两列,一列带有Label,另一列带有TextBox。在提交页面时,我将遍历网格视图中的项目,以选择文本框的值,并关联回数组中的正确对象。

有人可以指导,或者告诉我在WPF中应该使用哪些控件?

额外信息; 它是使用.NET 4,Visual Studio 2010的桌面WPF应用程序。

干杯 斯图

2 个答案:

答案 0 :(得分:10)

绝对不需要像这样简单的使用DataGrid。使用基本的ItemsControl将执行您正在寻找的内容,而无需这种复杂控件的开销。只需更改ItemTemplate即可轻松自定义此方法。

<ItemsControl ItemsSource="{Binding QuestionsToAnswer}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="100"/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>

                <TextBlock Text="{Binding QuestionText}"/>
                <TextBox Text="{Binding AnswerText}" Grid.Column="1"/>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

答案 1 :(得分:0)

我同意Scott的观点,DataGrid可能就是这样。以下是一些让你开始的体面的turotials:
http://www.c-sharpcorner.com/UploadFile/mahesh/WpfDGP109272009111405AM/WpfDGP1.aspx
http://www.wpftutorial.net/DataGrid.html