Je fichier XAML comme ci-dessous:WPF Listview ligne Obtenir des valeurs
<Window x:Class="ComboBoxCheck.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:check="clr-namespace:ComboBoxCheck"
Title="Window1" Height="300" Width="320">
<Window.Resources>
<ObjectDataProvider x:Name="Designation" MethodName="GetDesignations" ObjectType="{x:Type check:Window1}" x:Key="Designation" IsAsynchronous="True"/>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<ListView Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="lsvStaffList" Margin="0,0,0,3"
BorderBrush="Transparent" BorderThickness="0">
<ListView.View>
<GridView>
<GridViewColumn Header="Employee Id" Width="70" DisplayMemberBinding="{Binding Path=EmployeeId}"/>
<GridViewColumn Header="Employee Name" Width="90" DisplayMemberBinding="{Binding Path=EmployeeName}"/>
<GridViewColumn Header="Designation" Width="120">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="cmbDesignation" Height="20" Width="90" SelectedValue="{Binding Path=EmployeeDesignation}"
ItemsSource="{Binding Source={StaticResource Designation}}"
DisplayMemberPath="Name" SelectedValuePath="Id"
VerticalAlignment="Top" HorizontalAlignment="Stretch"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<Button Name="btnProperty" Width="75" Content="Get Value" Height="25" Click="btnProperty_Click" Grid.Row="1"/>
</Grid>
Le code derrière le fichier est comme ci-dessous:
using System; en utilisant System.Collections.Generic; en utilisant System.Linq; en utilisant System.Text; en utilisant System.Windows; en utilisant System.Windows.Controls; en utilisant System.Windows.Data; en utilisant System.Windows.Documents; en utilisant System.Windows.Input; en utilisant System.Windows.Media; en utilisant System.Windows.Media.Imaging; en utilisant System.Windows.Navigation; en utilisant System.Windows.Shapes;
espace de nomsComboBoxCheck {
public partial class Window1 : Window
{
public static Designations designations = null;
public Employees employees = null;
public Window1()
{
InitializeComponent();
designations = new Designations();
employees = new Employees();
Designation d1 = new Designation();
d1.Id = 1;
d1.Name = "Manager";
designations.Add(d1);
Designation d2 = new Designation();
d2.Id = 2;
d2.Name = "Developer";
designations.Add(d2);
Designation d3 = new Designation();
d3.Id = 3;
d3.Name = "Lead";
designations.Add(d3);
Employee e1 = new Employee();
e1.EmployeeId = 1;
e1.EmployeeName = "Name1";
e1.EmployeeDesignation = 2;
employees.Add(e1);
Employee e2 = new Employee();
e2.EmployeeId = 2;
e2.EmployeeName = "Name2";
e2.EmployeeDesignation = 2;
employees.Add(e2);
Employee e3 = new Employee();
e3.EmployeeId = 3;
e3.EmployeeName = "Name3";
e3.EmployeeDesignation = 1;
employees.Add(e3);
lsvStaffList.ItemsSource = employees;
}
public static Designations GetDesignations()
{
return designations;
}
private void btnProperty_Click(object sender, RoutedEventArgs e)
{
//I need something like this
//Employees employeesCollection = new Employees();
//employeesCollection[0].EmployeeId = 1
//employeesCollection[0].EmployeeName = Name1
//employeesCollection[0].EmployeeDesignation = Developer
//employeesCollection[1].EmployeeId = 2
//employeesCollection[1].EmployeeName = Name2
//employeesCollection[1].EmployeeDesignation = Developer
//employeesCollection[2].EmployeeId = 3
//employeesCollection[2].EmployeeName = Name3
//employeesCollection[2].EmployeeDesignation = Manager
}
}
public class Designations : List<Designation> {}
public class Designation
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
public class Employees : List<Employee> { }
public class Employee
{
private int employeeid;
public int EmployeeId
{
get { return employeeid; }
set { employeeid = value; }
}
private string employeename;
public string EmployeeName
{
get { return employeename; }
set { employeename = value; }
}
private int employeedesignation;
public int EmployeeDesignation
{
get { return employeedesignation; }
set { employeedesignation = value; }
}
}
}
Je voudrais obtenir la collection employés qui a le nom de l'employé, id employé et la désignation des employés. J'ai besoin d'un code dans l'événement click du bouton 'Get Value' et donné le format.
C'est génial. La solution fonctionne très bien! Ce que je cherchais. Merci monsieur krmicpuppet !! – Sathish