Silverlight 4.0 在Silverlight中:如何以编程方式将Silverlight Datagrid填充到Silverlight控件?
嗨,朋友们 我正在开发silverlight 4.0,我有datagrid,数据是从数据库加载的 我的问题是用户在datagrid中单击记录的时间。在silverlight控件中自动填充记录 范例 在datagrid中,当用户单击empid或empname时,我有empid和empname。要在empid(文本框)和empname(文本框)中加载的数据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(文本框)中加载的数据 任何人都可以发布代码……如果我理解你的意思,你有类似“主/细节”的东西,也就是你点击一个数据网格行,你想要填充几个文本框 因此,当您单击一行时,
任何人都可以发布代码……如果我理解你的意思,你有类似“主/细节”的东西,也就是你点击一个数据网格行,你想要填充几个文本框 因此,当您单击一行时,启动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属性,并且由于文本框已分配给该属性,您将看到它们已填充
现在好多了?:) 这很简单,你自己试试,或者我稍后会用一个例子来更新(对不起,我现在必须走了)