1

アプリケーションにリスト ボックスを追加しました。以下はスクリーンショットです。

ここに画像の説明を入力

ユーザーがリスト項目をクリックすると、詳細ページが表示されます。以下選択変更リスナーでの扱いです。

private void companiesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {            
            //get the selected item from list
            Company selectedItem = (Company)e.AddedItems[0];

     Uri uri = new Uri("/CompanyDetailsPage.xaml", UriKind.Relative);
            //navigate to target page
            this.NavigationService.Navigate(uri);

            FrameworkElement root = Application.Current.RootVisual as FrameworkElement;
            root.DataContext = selectedItem;
}
}

ここまでは大丈夫です。

ユーザーがアイテムにある [削除] ボタンをクリックすると、そのアイテムをリストから削除する必要があります。

private void Del_Btn_clicked(object sender, RoutedEventArgs e)
    {
        //get the Corresponding item from list i.e. On which delete button is placed.
    //Delete saved company from the database   


    }

削除ボタンが配置されている特定のリスト アイテム インデックスを取得できません。ほら、私は得ることができました。

ありがとう。

4

2 に答える 2

2

パラメータをキャストすることで、ボタンを取得できsenderます。そこから、DataContext プロパティをキャストして会社を取得できます。

private void Del_Btn_clicked(object sender, RoutedEventArgs e)
{
    var button = (Button)sender;

    var company = (Company)button.DataContext;

    // ...
}
于 2013-07-16T08:39:44.680 に答える
0

プロパティを直接設定できるリストボックスのインデックスを取得します

SelectedIndex = {Binding asd,Mode=TwoWay}

次にビューモデルで

プロパティを作る

private int _asd;
public int asd
{
get
{
return _asd;
}
set
{
_asd= value;
}
}

これにより、選択したアイテムのインデックスが取得されます...それが役立つことを願っています..

于 2013-07-16T08:41:58.080 に答える