удалить элемент из списка @windows phone 7 - PullRequest
2 голосов
/ 10 января 2011

эй, я пытаюсь несколько дней удалить элемент из списка данных с привязкой к данным при использовании инструментария contectmenu.Метод удаления просит меня вставить имя элемента, но я не могу его найти.

здесь есть функция добавления элемента

{
                listObjetDevis.Add(new itemListBoxSave { 
                 devis = tbCreerDevis.Text });

                IsolatedStorageHelper.SaveObject("devis", listObjetDevis);
            }

thx для справки

Ответы [ 2 ]

6 голосов
/ 10 января 2011

Вот простой пример того, как это сделать, и который вы сможете настроить для своего собственного проекта / потребностей.

  1. Создайте новое приложение DataBound.

  2. Добавить ссылку на инструментарий.

  3. Добавьте следующее объявление XAML MainPage:

    XMLNS: инструментарий = "CLR-пространств имен: Microsoft.Phone.Controls; сборка = Microsoft.Phone.Controls.Toolkit"

  4. Измените шаблон ListBox.ItemTemplate следующим образом:

    <DataTemplate>
        <StackPanel Margin="0,0,0,17" Width="432">
            <toolkit:ContextMenuService.ContextMenu>
                <toolkit:ContextMenu>
                    <toolkit:MenuItem Header="delete" Click="ContextMenuDelete_Click"/>
                </toolkit:ContextMenu>
            </toolkit:ContextMenuService.ContextMenu>
            <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
            <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
        </StackPanel>
    </DataTemplate>
    
  5. Добавьте следующий обработчик событий к коду:

private void ContextMenuDeleteClick(object sender, RoutedEventArgs e)
{
    App.ViewModel.Items.Remove((sender as MenuItem).DataContext as ItemViewModel);
}
0 голосов
/ 10 января 2011

Просто констатирую очевидное: если вы используете listObjetDevis.Add для добавления элемента, не хотите ли вы использовать listObjetDevis.RemoveAt(list.SelectedIndex) или listObjetDevis.Remove(list.SelectedItem) для удаления элемента?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...