2011-12-06 13 views
0

ハッシュテーブルがあり、そのコードまたはコードのwpfのListViewにバインドします。ハッシュテーブルをWPFのListViewにバインドする

私のListViewのは、私はそれをバインドする方法が分からないbeindコードで

<ListView Canvas.Left="1045" Canvas.Top="634" Height="244" Name="lvContact" Width="536" > 
      <ListView.View> 
       <GridView x:Name="gvContacts"> 
        <GridView.Columns> 
         <GridViewColumn Width="200" x:Name="ContactName" DisplayMemberBinding="{Binding Path=Username}"></GridViewColumn> 
        </GridView.Columns> 
       </GridView> 

      </ListView.View> 

     </ListView> 

ですが、私は、Windowsでこれを使用していたことはアプリ

 //foreach (DictionaryEntry de in contactList) 
     //{ 
     // ListViewItem contactItem = new ListViewItem(de.Key.ToString()); 

     // if (de.Value.ToString() == "NLN") 
     // { 
     //  contactItem.ForeColor = System.Drawing.Color.Green; 
     // } 
     // else 
     // { 
     //  contactItem.ForeColor = System.Drawing.Color.Gray; 
     // } 


     // lvContact.Items.Add(contactItem); 

    //} 

フォームしかし、今、それは仕事をdoesntの前に正しく助けてください

+0

「contactList」と「DictionaryEntry」のどちらのタイプを表示できますか? – sll

答えて

1

あなたは標準バインディングを見逃しています。あなたのビューモデル(またはコードビハインド)で

 <DataGrid Height="280" AutoGenerateColumns="False" IsReadOnly="True" HeadersVisibility="Column" 
       ItemsSource="{Binding SelectedApplication.Tasks}" 
       SelectedItem="{Binding SelectedTask}"> 
      <DataGrid.Columns> 
       <DataGridTextColumn Binding="{Binding Path=Sequence}" Header="Order" Width="50" /> 
       <DataGridTextColumn Binding="{Binding Path=Description}" Header="Description" Width="*"/> 
       <DataGridTextColumn Binding="{Binding Path=TaskType}" Header="Type" Width="120"/> 
       <DataGridTextColumn Binding="{Binding Path=FailureCausesAllStop}" Header="Stop" Width="50"/> 
      </DataGrid.Columns> 
     </DataGrid> 

、あなたがあなたの元データを持っている必要があります:

 <ListBox DockPanel.Dock="Bottom" ItemsSource="{Binding Applications}" DisplayMemberPath="Name" 
       SelectedItem="{Binding SelectedApplication}" Height="auto"/> 

そして、ここでは、DataGridのXAMLです:ここでXAMLは、リストボックスのためだ

public Collection<Application> Applications 
    { 
     get { return this._applications; } 

     private set 
     { 
      this._applications = value; 
      this.NotifyPropertyChanged(() => this.Applications); 
     } 
    } 

そして:

public Application SelectedApplication 
    { 
     get { return this._selectedApplication; } 

     set 
     { 
      this._selectedApplication = value; 
      this.NotifyPropertyChanged(() => this.SelectedApplication); 
     } 
    } 

J ust googleかバインディングについてお読みください。あなたはすべて設定されます。

関連する問題