2011-10-08 26 views
0

基本的には、リストボックスに項目を動的に追加しています。各リストボックス項目の中には、ボタンがクリックされた項目に対して特定のアクションを実行するボタンコントロールも追加されています。ボタンを押したリストボックス項目を特定する方法は?

<DataTemplate> 
    <StackPanel> 
    <TextBlock Text="{Binding Title"/> 
    <Button Click="MyBtn_Click"/> 
    </StackPanel> 
</DataTemplate> 

どのボタンをクリックしたかを知る方法はありますか?私は各リストボックスの項目がインデックスを含んでいることを知っています。ボタンの親にアクセスできたら、どのボタンがクリックされたかを判断できますか?

答えて

1

あなたは値を保持するために、ボタンのCommmandParameterを使用することができます -

<DataTemplate> 
    <StackPanel>  
    <TextBlock Text="{Binding Title}"/> 
    <Button Click="MyBtn_Click" CommandParameter={Binding Title}/> 
    </StackPanel> 
</DataTemplate> 

public void MyBtn_Click(object sender, args) 
{ 
    string MyVal = (sender as Button).CommandParameter.ToString(); 
} 

条約は事のこのタイプのクリックイベントの代わりにコマンドイベントを使用することです。

+0

素晴らしいです。ありがとう。 – loyalpenguin

関連する問題