2013-05-28 6 views
0

나는 이것이 작동하는 것처럼 보일 수 없다. 누구나 왜 그런 아이디어가 있니?목록보기에 행을 추가하려면 어떻게합니까?

다음
public SelectionWindow() 
    { 
     InitializeComponent(); 
     rows = new List<Row>(); 
     // Create a new binding object and set the binding of this list view to it. 
     Binding myBinding = new Binding(); 
     myBinding.Source = rows; 
     FiltersListView.SetBinding(ItemsControl.ItemsSourceProperty, myBinding); 
    } 

내 행을 반대하고 클래스 : 여기

<ListView Width="210" Height="83" Margin="0 0 5 0" Name="FiltersListView"> 
          <ListView.View> 
           <GridView> 
            <GridViewColumn Header="Column" Width="Auto" DisplayMemberBinding="{Binding FilterColumn}"></GridViewColumn> 
            <GridViewColumn Header="Rule" Width="Auto" DisplayMemberBinding="{Binding FilterRule}"></GridViewColumn> 
            <GridViewColumn Header="String" Width="Auto" DisplayMemberBinding="{Binding FilterString}"></GridViewColumn> 
           </GridView> 
          </ListView.View> 
         </ListView> 

창 이니셜입니다 : 여기

는 마크 업입니다

List<Row> rows; 
public class Row 
    { 
     public string FilterColumn; 
     public string FilterRule; 
     public string FilterString; 
    } 

하지만이 버튼을 클릭하면 목록에 추가되는 것을 보지 못했습니다.

private void AddButtonClick(object sender, RoutedEventArgs e) 
     { 
      Console.WriteLine("Adding row."); 
      rows.Add(new Row { FilterColumn = "1", FilterRule = "2", FilterString = "3" }); 
      Console.WriteLine("Row added."); 
     } 

답변

1

List<int>INotifyCollectionChanged을 구현하지 않기 때문에 컨트롤이 실제로 목록이 업데이트되었음을 ​​알지 못하기 때문입니다.

rowsObservableColelction<Row>으로 만드십시오.


편집 : 언급 된 OP로, 다른 문제 (빈 행) 에, 필드,하지 속성을 사용하여 때문.

+0

이제 부분적으로 작동합니다. 행이 추가되지만 행은 모두 비어있는 것처럼 보입니다. 어떤 아이디어? – Alexandru

+0

또한이 모든 것을 ASMX에 설정하는 방법이 있습니까? – Alexandru

+0

@Alexandru :'Width = "Auto"'가 참인지 확실치 않습니다. 일정한 폭으로 시도해 주시겠습니까? – Vlad

관련 문제