2010-12-15 15 views
2

この問題があります。私はWPFでcaliburn microを使用しています。ビューでは私はリストボックスを持っており、私はview-modelでevent MouseDoubleClickメソッドにバインドします。私はパラメータを選択リストボックス項目として送信したいと思います。しかし、私はどのようにそれを行うのか分からない。ビュー内のビューモデル[WPF、Caliburn]のメソッドにパラメータとして選択項目を送信します

私はこれを持っている:

public void SendRp(string key) 
    { 
     MessageBox.Show(key); 
    } 

どれ事前に、感謝:ビューモデルで

<ListBox Name="Friends" 
      SelectedItem="Key" 
      Style="{DynamicResource friendsListStyle}" 
      Grid.Row="2" 
      Margin="4,4,4,4" 

      Micro:Message.Attach="[MouseDoubleClick]=[Action SendRp(Key)]" 

      PreviewMouseRightButtonUp="ListBox_PreviewMouseRightButtonUp" 
      PreviewMouseRightButtonDown="ListBox_PreviewMouseRightButtonDown" 
      MouseRightButtonDown="FriendsListBoxMouseRightButtonDown"/> 

が、私はこの方法を持っています。

答えて

4

私はカリバーンについて多くを知らないが、私の推測では、あなたも、あなたがSelectedItem="Key"を省略するか、このようなあなたのViewModelへのバインディングを使用する必要がありますいずれか

Micro:Message.Attach="[MouseDoubleClick]=[Action SendRp(Friends.SelectedItem)]" 

を記述する必要がある。

SelectedItem="{Binding Key}" 

申し訳ありません私の投稿がキャリバーン知識の欠如のために完全に偽である場合は、先に

+0

あなたの解決策はうまくいかないが、私は最初にこの問題を書いた。 –

+0

OK、私は間違いを見ました。Micro:Message.Attach = "[MouseDoubleClick] = [Action SendRp(Friends.SelectedItem)]" – thumbmunkeys

+0

ありがとうございました! –

関連する問題