Hello friends,please I have this code:
<DataGrid Name="dgvArticulos" Width="450" Height="350" AutoGenerateColumns="False" CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Unidad Medida" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding ListaUnidades}" SelectedValuePath="Codigo" DisplayMemberPath="Descripcion" SelectedIndex="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Descripcion" Binding="{Binding Descripcion}" Width="300" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
And this is my code,it work well :
public partial class MainWindow : Window
{
public class UMedida
{
public int Codigo { get; set; }
public String Descripcion { get; set; }
}
public class CProductos
{
public int ID { get; set; }
public String Descripcion { get; set; }
public List<UMedida> ListaUnidades { get; set; }
}
public ObservableCollection<CProductos> ListaProductos;
public MainWindow()
{
ListaProductos = new ObservableCollection<CProductos>()
{
new CProductos{ ID=3, Descripcion="Producto Uno",ListaUnidades= new List<UMedida>{ new UMedida{Codigo=1,Descripcion="Unidad"},new UMedida{Codigo=1,Descripcion="Pkg x6"}}},
this.DataContext = ListaProductos;
InitializeComponent();
dgvArticulos.ItemsSource = ListaProductos;
}
What I try to do is when the user selects a row I need to know what unit of measure is assigned a certain article
private void Button_Click_1(object sender, RoutedEventArgs e)
{
CProductos prod = (CProductos)dgvArticulos.SelectedItem;
prod.ListaUnidades
}