2016-08-21 16 views
1

私は、ウィンドウが開いたときに動的に作成されるオブジェクトのリストを持っています。例えば:Wpfリストビュー項目オブジェクトdoubleclick

//Set content for listview sentitems 
    List<email> _sentmails = _dataDC.emails.Where(u => u.from == _username).OrderByDescending(x => x.time).ToList(); 
    inbox.ItemsSource = _sentmails; 

マイXAML:リストの項目をダブルクリックされたとき

<TabItem Header="Inbox" Height="30"> 
     <TabItem.Content> 
      <ListView Name="inbox" BorderThickness="2" Margin="5,0,-5,0" > 
       <ListView.View > 
        <GridView> 
         <GridViewColumn Header="Van" Width="70" DisplayMemberBinding="{Binding from}" /> 
         <GridViewColumn Header="Onderwerp" Width="120" DisplayMemberBinding="{Binding subject}" /> 
         <GridViewColumn Header="Op" Width="130" DisplayMemberBinding="{Binding time}" /> 

        </GridView> 
       </ListView.View> 
      </ListView> 
     </TabItem.Content> 
    </TabItem> 

、私は単純に新しいウィンドウを開くようにしたいです。オブジェクトが新しいウィンドウに渡され、そこで新しいウィンドウが表示されます。任意の簡単なソリューション?

答えて

1

XAML

<ListView Name="inbox" BorderThickness="2" Margin="5,0,-5,0" MouseDoubleClick="inbox_OnMouseDoubleClick"> 
...これを試してみてください

C#

private void inbox_OnMouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) 
{ 
    // Assumes your NewWindow class has a constuctor that takes the Email type. 
    NewWindow window = new NewWindow((Email)inbox.SelectedItem); 
    window.Show(); 
} 
+0

投稿した答えとは何が違うのですか? – Sajeetharan

+0

私は投稿した後、私のことを反映するためにあなたの編集しました。 –

+0

@gegnis、それだけでも間違っていた – Sajeetharan

1

ListViewのMouseDoubleClickを使用します。

XAML:

<ListView Name="inbox" BorderThickness="2" Margin="5,0,-5,0" MouseDoubleClick="ListView_MouseDoubleClick"> 

コードの後ろ:

private void ListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
{ 
     var item = (sender as ListView).SelectedItem; 
     if (item != null) 
     { 
      //use the item here and pass to the new window 
      NewModal s = new NewModal(Email)item); 
     } 
} 
+0

これはシングルクリックですが、いいですか? 3 – user3117628

+0

@ user3227070ありがとうございます – Sajeetharan

+0

申し訳ありませんが、タイプをオブジェクトから電子メールに変換できないというエラーが表示されます。私は自分の質問を1秒間編集します – user3117628

関連する問題