динамически заполнять список - PullRequest
0 голосов
/ 28 октября 2010

Если я привяжу таблицу данных к WPF Toolkit-data-grid ..... нет необходимости указывать там имена столбцов ... он автоматически возьмет это из таблицы данных.

Но если я связываю представление списка с наблюдаемой коллекцией ... Я должен указать имена заголовков столбцов для каждого столбца по одному .. в файле xaml.

Так что, если у меня есть список имен столбцов -> List<ColumnHeaderNames> вместе со списком элементов для заполнения -> List<Object to populate list>

, я могу привязать список элементов к просмотру списка ...и список имен столбцов для заголовка представления списка ... но я не знаю, есть ли какое-либо свойство в представлении списка ... для привязки моего заголовка.

Это означает ...

У меня есть пользовательский элемент управления, в котором у меня есть 2 списка ... один доступен, а другой выбран.Мне нужно, чтобы этот пользовательский элемент управления был многоразовым ... Это значит ... если я связываю список как ... список должен содержать два столбца ... первый столбец с именем как "штат" и вторым именем столбца как "округ"».Но если я связываю список как ... Затем список просмотра должен содержать 3 столбца ... с именами столбцов в виде фруктов, цвета и цены.

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Я думаю, что для вас лучше всего было бы установить свойство View вашего ListView в GridView.Затем вы можете легко связать заголовок столбца:

  <ListView ItemsSource="{Binding ListOfValues}">
            <ListView.View>
                <GridView >                
                    <GridViewColumn DisplayMemberBinding="{Binding XVal}" Header={binding header}"/>
                </GridView>
            </ListView.View>
        </ListView>

для получения дополнительной информации вы можете перейти туда http://msdn.microsoft.com/en-us/library/system.windows.controls.gridview.aspx

0 голосов
/ 28 октября 2010

И если вы используете структуру, которая содержит список и имя: <{listOfFruits, "Fruits"}, {listofStates, "States>

А потом:

   <ItemsControl ItemsSource="{Binding ListOfStruct}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <ListView ItemsSource="{Binding ListOfitem}">
                <ListView.View>
                    <GridView>
                        <GridViewColumn DisplayMemberBinding="{Binding}" Header="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}, Path=DataContext.Header}"/>
                    </GridView>
                </ListView.View>
            </ListView>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Это не лучший способ, но я не знаю, как это сделать

...