Многоколонный список в WPF во время разработки - PullRequest
3 голосов
/ 23 февраля 2010

Я мог бы показаться глупым, но я хочу сделать что-то действительно простое. Во время разработки я хочу добавить столбцы в элемент управления списком и добавить в него некоторые данные. Мне нужно добавить выпадающий список в каждом столбце списка. То, что я не могу найти, это где указать номер столбца в элементе списка. Любую помощь оценили ребята.

<ListView IsSynchronizedWithCurrentItem="True" Margin="8,68,304,188"  
      BorderThickness="2,2,2,2">
 <ListView.View>
   <GridView>
    <GridViewColumn Width="150" Header="Column1"/>
    <GridViewColumn Width="150" Header="Column2"/>
   </GridView>
 </ListView.View>
 <ListViewItem>                              
 </ListViewItem>            
</ListView>

1 Ответ

2 голосов
/ 23 февраля 2010

Каждый столбец в элементе listview визуализируется на основе определения GridView, поэтому реальная концепция номеров столбцов отсутствует. То, что вы делаете, это привязывает объекты к источнику items в listview, и он создает элементы listview из него. Таким образом, есть несколько прыжков, через которые можно прыгнуть.

Эта ссылка содержит пример того, как выполнить простую привязку данных объекта. Преимущество этого в том, что имеющаяся у вас структура привязки для времени разработки, вероятно, может использоваться повторно во время выполнения, если вы установите datacontext / itemsource в пустой объект вместо статического в XAML.

Если вы делаете это для демонстрации примеров или у вас просто есть статический источник данных, который вы хотите использовать, я бы рекомендовал использовать XmlDataProvider . Тогда вы изменили бы свой ListView, чтобы быть таким,


<ListView IsSynchronizedWithCurrentItem="True" Margin="8,68,304,188"  
      BorderThickness="2,2,2,2">
 <ListView.View>
   <GridView>
    <GridViewColumn Width="150" Header="Column1" DisplayMemberPath="{Binding XPath=/A/B}"/>
    <GridViewColumn Width="150" Header="Column2" DisplayMemberPath="{Binding XPath=/A/C"/>
   </GridView>
 </ListView.View>
 <ListViewItem>                              
 </ListViewItem>            
</ListView>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...