您好我有一个文本框,其文本最初通过数据绑定填充到一个值。
<TextBox Name="EmployeeName" Text="{Binding Employee.Name}" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="8,0,0,0"/>
我有一个刷新按钮,可以将其重置为原始值,还有一个保存按钮,可以保存更改。
<Button Name="RefreshEmployeeName" Content="Refresh" Grid.Column="2" Grid.Row="0" Width="50" Height="25" Command="{Binding RefreshEmployeeNameCommand}" CommandParameter="{Binding Text, ElementName=EmployeeName}"/>
<Button Name="SaveEmployeeName" Content="Refresh" Grid.Column="2" Grid.Row="0" Width="50" Height="25" Command="{Binding SaveEmployeeNameCommand}" CommandParameter="{Binding Text, ElementName=EmployeeName}"/>
我正在使用MVVM light并且在我的View模型中我创建了2个RelayCommands
SaveEmployeeNameCommand = new RelayCommand(SaveEmployee);
RefreshEmployeeNameCommand = new RelayCommand(RefreshEmployee);
private void SaveEmployee()
{
//如何从文本框(命令参数)获取值 }
答案 0 :(得分:1)
我认为您不需要将名称作为CommandParameter传递。只要员工的Name属性具有公共setter并且您在文本框中使用双向绑定,就可以使用this.Employee.Name获取员工的姓名。