包含参数

时间:2015-06-11 17:27:42

标签: c# wpf xaml

我有点问题。我在WPF中有一个表格,适用于高级员工。我也使用相同的表格来编辑员工。在.xaml.cs表单文件中,我有两个构造函数。一个用于我想要注册的时间,另一个用于我想要编辑的时间。

private readonly EmpleadoViewModel _empleadoVm;

public AltaModificacionEmpleado()
{
    InitializeComponent();
    _empleadoVm = (EmpleadoViewModel) DataContext;
    _empleadoVm.ModoAlta = true;
    _empleadoVm.TituloVentana = "Alta de empleado";
    _empleadoVm.Empleado = new Empleado();
}

public AltaModificacionEmpleado(Empleado empleadoSeleccionado)
{
    InitializeComponent();
    _empleadoVm = (EmpleadoViewModel) DataContext;
    _empleadoVm.Empleado = empleadoSeleccionado;
    _empleadoVm.TituloVentana = "Editar empleado";
    _empleadoVm.IsVisible = Visibility.Collapsed;
    _empleadoVm.Cerrar = Close;
}

我需要在创建DataContext时传递一些参数,因为在“DC”创建和第一个属性之间,XAML负责某些必须使用这些参数控制的事情我需要传递。谢谢!

修改

我有2个ViewModel。 1注册员工(AltaModificacionEmpleado)和另一个搜索员工(BuscarEmpleadoViewModel)。

有两个按钮,一个打开表单以注册员工,另一个打开一个带有ListView +按钮的表单来搜索员工。当我找到我想要的那个,双击和员工注册表单打开,但现在加载数据,修改(绑定)。

for ex:in AltaModificacionEmpleado.xaml

<ListView ... ...
SelectedItem="{Binding EmpleadoSeleccionado}"
..
../>

for ex:在BuscarEmpleadoViewModel

private void Editar()
{
    try
    {
        var frm = new AltaModificacionEmpleado(EmpleadoSeleccionado);
        frm.ShowDialog();
    }
    catch (Exception dbEx)
    {
        ...
        ...
    }
}

0 个答案:

没有答案