I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component public class AllViewComponent : ViewComponent { private readonly UserManager<ApplicationUser> _userManager; public AllViewComponent(UserManager<ApplicationUser> userManager) { _userManager = userManager; } public async Task<IViewComponentResult> InvokeAsync() { List<StudentViewModel> allUsers = new List<StudentViewModel>(); var items = await _userManager.Users.ToListAsync(); foreach (var item in items) { allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email }); }
Today, i would like to share something about ListBox. ListBox is a container which is available in System.windows namespace. In it we can add item in both way (Design time or Run time ). In this article we have to add item at run time also transfer items of listBox to another listBox item. So, lets to start it:
1. Add two listBox and two button control in the page.
2. When window is load first time then first left ListBox is loaded with ArrayList.
<Window x:Class="WpfApplication2.transferlistitem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication2"
mc:Ignorable="d"
Title="transferlistitem" Height="500" Width="500">
<Grid>
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="317" Margin="30,42,0,0" VerticalAlignment="Top" Width="151"/>
<ListBox x:Name="listBox1" HorizontalAlignment="Left" Height="317" Margin="299,42,0,0" VerticalAlignment="Top" Width="156"/>
<Button x:Name="button" Content="Add" HorizontalAlignment="Left" Margin="201,88,0,0" VerticalAlignment="Top" Width="75" Height="38" Click="button_Click"/>
<Button x:Name="button1" Content="Remove" HorizontalAlignment="Left" Margin="201,192,0,0" VerticalAlignment="Top" Width="75" Height="46" Click="button1_Click"/>
</Grid>
</Window>
Code behind code
using System.Collections;
using System.Windows;
namespace WpfApplication2
{
public partial class transferlistitem : Window
{
ArrayList mylist;
string currentitem = string.Empty;
int index = 0;
public transferlistitem()
{
InitializeComponent();
mylist=loadlistbox();
listBox.ItemsSource = mylist;
}
private ArrayList loadlistbox()
{
ArrayList list = new ArrayList();
list.Add("Apple");
list.Add("Orange");
list.Add("Grapes");
list.Add("mango");
return list;
}
private void button_Click(object sender, RoutedEventArgs e)
{
currentitem = listBox.SelectedValue.ToString();
index = listBox.SelectedIndex;
listBox1.Items.Add(currentitem);
if(mylist!=null)
{
mylist.RemoveAt(index);
}
bindnewlist();
}
private void bindnewlist()
{
listBox.ItemsSource = null;
listBox.ItemsSource = mylist;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
currentitem = listBox1.SelectedValue.ToString();
index = listBox1.SelectedIndex;
mylist.Add(currentitem);
listBox1.Items.RemoveAt(listBox1.Items.IndexOf(listBox1.SelectedItem));
bindnewlist();
}
}
}
First to select the first listBox item then press the 'Add' button. When we press the add button then get the selected item as well as selected item index. Selected item insert into second listbox also remove from the ArrayList. After that first ListBox will updated with ArrayList. When we press remove button the selected item of ListBox 2 is removed and selected item insert into first listbox.
Comments
Post a Comment