2010-02-23 4 views
3

여기에 바보처럼 들리 겠지만, 나는 정말 간단한 것을하고 싶습니다. 디자인 타임에 열을 목록 뷰 컨트롤에 추가하고 일부 데이터를 추가하려고합니다. listview의 각 열에 콤보 상자를 추가해야합니다. 내가 찾을 수없는 것은 listviewitem의 열 번호를 언급하는 곳입니다. 어떤 도움을 주셔서 감사합니다.디자인 타임에 WPF의 다중 열리스트 뷰

<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> 

답변

2

listviewitem의 각 열은 GridView 정의를 기반으로 렌더링되므로 열 번호에 대한 실제 개념은 없습니다. 당신이하는 일은 listview의 itemsource에 객체를 bind하고 listviewitem을 생성합니다. 따라서 뛰어 넘기위한 몇 가지 작업이 있습니다.

This link에는 간단한 개체 데이터 바인딩을 수행하는 방법에 대한 예제가 있습니다. 이점은 XAML의 정적 객체 대신 datacontext/itemsource를 빈 객체로 설정하면 런타임에 바인딩 시간을 재사용 할 수 있다는 것입니다.

예제를 보여주기 위해이 작업을 수행하거나 사용하려는 정적 데이터 소스 만 가지고 있다면 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> 
 
+0

그래, 나는 결코 존재하지 않는 무언가를 찾고 있었다. 바인딩은 갈 길입니다. 감사. – theraneman

관련 문제