2011-11-15 39 views
0

私は現在、自分のsystem.Iで実行されているWindowsサービスリストからいくつかのプロパティを読むことができるWPFアプリケーションを開発しています。特定のサービスのプロパティを読み込んで、 Listviewの下のUI WPFアプリケーションでコレクションをListviewにバインドできませんか?

は、私がここで

は私のコード

です...同じシナリオは私がポイントを逃した場所を確認していないway..but以下にしようとしています.ieiサービスのリストに使用したいです
foreach (string serviceName in sList) 
     { 
      ServiceController controller = new ServiceController(serviceName); 


      StatusCollection.Add (new StatusData 
      { 
       Name = name, 
       Status = status 
      }); 
     lvStatus.DataContext = StatusCollection; 
     lvStatus.ItemsSource = StatusCollection; 
     } 

<ListView Height="166" HorizontalAlignment="Left" Margin="23,0,0,0" Name="lvStatus" VerticalAlignment="Top" Width="264" > 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"></GridViewColumn> 
       <GridViewColumn Header="Status" DisplayMemberBinding="{Binding Status}"></GridViewColumn> 
      </GridView> 
     </ListView.View> 
    </ListView> 

答えて

1

DataContextのコード行を削除します。

コード内でItemsSourceを設定した場合は、InitializeComponentが呼び出される前に必ず実行してください。そうでない場合は、Itemsコレクションを更新する必要があります。

しかし、私はあなたのウィンドウまたはINotifyPropertyChangedを実装するコントロールのためのビューモデルをセットアップします。 ObservableCollectionとしてあなたのコレクションを作成し、XAMLでそれにバインド:

<ListView ... ItemsSource={Binding Path=ServiceList}> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}" /> 
      <GridViewColumn Header="Status" DisplayMemberBinding="{Binding Path=Status}" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

を使用すると、ビューモデルを使用した例が必要な場合は、私に教えてください。

+0

ViewModelを使って例を得ることができたらうれしいです – Macnique

+0

ここにいくつかの良いリンクがあります:http://msdn.microsoft.com/en-us/magazine/dd419663.aspxとhttp:// www。 codeproject.com/KB/WPF/WpfMvvmQuickStart.aspx。 Stack Overflowを使ってすばやく検索すると、他のものを見つけることができます。 – Josh

関連する問題