Я работаю над WPF. У меня есть ListBox, и я добавляю элементы ListBox программно через «ObservableCollection», так как я должен добавлять и удалять во время выполнения. У меня есть ContextMenu на ListBoxItems. Теперь я хочу получить выбранный элемент, нажав контекстное меню. Вот мой код:Получить выбранный элемент ListBox с помощью ContextMenu
.cs
ObservableCollection<string> MyItems = null;
public MessageTrcr()
{
InitializeComponent();
MyItems = new ObservableCollection<string>();
listofConnectedItems.ItemsSource = MyItems;
CreateListItem("Sandeep");
CreateListItem("Gopi");
}
public void CreateListItem(String ItemName)
{
MyItems.Add(ItemName);
}
private void MenuItemStart_Click(object sender, RoutedEventArgs e)
{
// What should I write here to get selected Item
}
и .xaml
<Grid>
<ListBox x:Name="listofConnectedItems" Grid.Column="0" Grid.Row="0" ItemsSource="{Binding MyItems}" >
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Padding" Value="10">
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ContextMenu>
<ContextMenu x:Name="contextMenu">
<MenuItem Header="_Start" Click="MenuItemStart_Click" />
<MenuItem Header="Sto_p" />
<MenuItem Header="_Clear" />
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
</Grid>
Вот скриншот.
Когда я правой кнопкой мыши на Гопи и нажмите Start я хочу «Гопи» в MenuItemStart_Click
Теперь то, что я должен написать в случае «MenuItemStart_Click», чтобы получить выбранный элемент. Я пробовал e.OriginalSource as MenuItem
и sender as MenuItem
, но бесполезно. Может кто-нибудь, пожалуйста, помогите мне в этом. Заранее спасибо
listofConnectedItems.SelectedItem? который должен дать его вам – adminSoftDK
@adminSoftDK Спасибо, чувак. Он отлично работал. Я не понимаю, как я это пропустил. В любом случае спасибо u :) – Gopi