Silverlight 4.0 在Silverlight中:如何以编程方式将Silverlight Datagrid填充到Silverlight控件?

Silverlight 4.0 在Silverlight中:如何以编程方式将Silverlight Datagrid填充到Silverlight控件?,silverlight-4.0,datagrid,Silverlight 4.0,Datagrid,嗨,朋友们 我正在开发silverlight 4.0,我有datagrid,数据是从数据库加载的 我的问题是用户在datagrid中单击记录的时间。在silverlight控件中自动填充记录 范例 在datagrid中,当用户单击empid或empname时,我有empid和empname。要在empid(文本框)和empname(文本框)中加载的数据 任何人都可以发布代码……如果我理解你的意思,你有类似“主/细节”的东西,也就是你点击一个数据网格行,你想要填充几个文本框 因此,当您单击一行时,

嗨,朋友们 我正在开发silverlight 4.0,我有datagrid,数据是从数据库加载的 我的问题是用户在datagrid中单击记录的时间。在silverlight控件中自动填充记录

范例 在datagrid中,当用户单击empid或empname时,我有empid和empname。要在empid(文本框)和empname(文本框)中加载的数据


任何人都可以发布代码……

如果我理解你的意思,你有类似“主/细节”的东西,也就是你点击一个数据网格行,你想要填充几个文本框

因此,当您单击一行时,启动SelectionChanged事件,将元素附加到该行(员工)并将其分配给“SelectedEmployee”属性。文本框的数据上下文为SelectedEmployee。将每个文本框绑定到选定的员工属性(empid、empname…)

这就是你想要的吗?:)

以下是一个例子:

<StackPanel>
    <sdk:DataGrid x:Name="datagrid" SelectionChanged="DataGrid_SelectionChanged">

    </sdk:DataGrid>
    <TextBox Text="{Binding SelectedEmployee.Id}" />
    <TextBox Text="{Binding SelectedEmployee.EmpName}" />
</StackPanel>

我有一个DataGrid(这个名字是因为我在这个例子中使用codebehind)。包含数据的Datagrid和两个文本框,其中包含Datagrid上选定行的数据

    private ObservableCollection<Employee> employees;

    public MainPage()
    {
        InitializeComponent();
        employees = new ObservableCollection<Employee>();
        employees.Add(new Employee {Id = 1, EmpName = "Raj"});
        employees.Add(new Employee {Id = 2, EmpName = "Jesus"});
        datagrid.ItemsSource = Employees;

        Page.DataContext = this;
    }

    private Employee _selectedEmployee;


    public ObservableCollection<Employee> Employees
    {
        get { return employees; }
    }

    public Employee SelectedEmployee
    {
        get { return _selectedEmployee; }
        set
        {
            _selectedEmployee = value;
            RaisePropertyChanged("SelectedEmployee");
        }
    }

    private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        SelectedEmployee = datagrid.SelectedItem as Employee;
    }
私人可观察收集员工;
公共主页()
{
初始化组件();
员工=新的可观察集合();
Add(新雇员{Id=1,EmpName=“Raj”});
Add(新雇员{Id=2,EmpName=“Jesus”});
datagrid.ItemsSource=员工;
Page.DataContext=this;
}
私人雇员(u选择的雇员);;
公开收集雇员
{
获取{返回员工;}
}
公共雇员选定雇员
{
获取{return\u selectedEmployee;}
设置
{
_selectedEmployee=值;
RaiseProperty变更(“选定员工”);
}
}
private void DataGrid_SelectionChanged(对象发送方,SelectionChangedEventArgs e)
{
SelectedEmployee=datagrid.SelectedItem为员工;
}
又一次的代码背后的狗屎,但想法是。您有一个绑定到DataGrid的ItemsSource,还有一个SelectedEmployee属性

因此,当我单击一行时,SelectedChanged事件将启动,您必须将员工分配到该行,将其放入SelectedEmployee属性,并且由于文本框已分配给该属性,您将看到它们已填充


现在好多了?:)

这很简单,你自己试试,或者我稍后会用一个例子来更新(对不起,我现在必须走了)