Как указать жестко закодированные данные для многостолбцового WPF ListView? - PullRequest
0 голосов
/ 15 ноября 2010

Эй, у меня есть ListView с несколькими столбцами.Я хочу прикрепить жестко запрограммированные значения с использованием конструкции xaml, такой как ListViewItem, но не могу понять, как указать несколько столбцов фиксированных данных.Например, в сетке, показанной ниже, я хотел бы видеть два столбца, «Животное» и «IQ», и предварительно заполнить данные для обоих столбцов, но показанный код устанавливает все столбцы в одно значение.

<ListView>  
    <ListView.View>  
        <GridView>  
            <GridViewColumn Header="Animal" />  
            <GridViewColumn Header="IQ" />  
        </GridView>  
    </ListView.View>  
    <ListViewItem Content="Pig"/>  
    <ListViewItem Content="Dog"/>  
</ListView>

Кстати: это простой пример экрана.Таким образом, я не хочу связывать данные программно.

Заранее спасибо.
Дейв.

Ответы [ 2 ]

0 голосов
/ 26 июля 2016

На всякий случай, если кто-то все еще ищет ответ; первый ответ неверен и будет по-прежнему печатать одно и то же значение в каждом столбце, как в примере XAML. Это сделает свое дело:

<ListView>  
<ListView.View>  
    <GridView>  
        <GridViewColumn Header="Animal" DisplayMemberBinding="{Binding Animal}" />  
        <GridViewColumn Header="IQ" DisplayMemberBinding="{Binding IQ}" />  
    </GridView>  
</ListView.View>  
<ListViewItem>
    <local:Animals Animal="Pig" IQ="70" />
    <local:Animals Animal="Dog" IQ="60" />
    <local:Animals Animal="Frog" IQ="30" />
</ListViewItem>

Однако вам нужен такой класс, я не думаю, что это можно сделать с помощью чистого XAML:

public class Animals
{
    public string Animal { get; set; }
    public int IQ { get; set; }
}
0 голосов
/ 15 ноября 2010

Не уверен, как выполнить это декларативно в XAML, но если вы не хотите привязывать данные к элементу управления, вы можете программно добавлять элементы в коде позади.

this.AnimalsList.Items.Add(new ListViewItem { Content = "Pig" });
this.AnimalsList.Items.Add(new ListViewItem { Content = "Dog" });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...