【问题标题】:Silverlight passing the value from view to ViewModel MVVMSilverlight 将值从视图传递到 ViewModel MVVM
【发布时间】:2023-03-27 10:37:01
【问题描述】:

您好,我有一个文本框,其中包含最初通过数据绑定填充为值的文本。

    <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 lightand 我创建了 2 个 RelayCommands

    SaveEmployeeNameCommand = new RelayCommand(SaveEmployee);

    RefreshEmployeeNameCommand = new RelayCommand(RefreshEmployee);

    private void SaveEmployee()
    {

//这里如何从文本框(命令参数)中获取值 }

【问题讨论】:

    标签: silverlight mvvm mvvm-light


    【解决方案1】:

    我认为您不需要将名称作为命令参数传递。只要员工的 Name 属性有一个公共 setter,并且您在文本框上使用双向绑定,就可以使用 this.Employee.Name 获取员工的姓名。

    【讨论】:

    • 我将员工作为我的视图模型中的公共参数。在我的 SaveEmplyee 函数中。 this.Employee.Name 没有给出文本框的更改值。能否请您详细说明解决方案。
    • 尝试
    • 如何在单击重置按钮时将更改的值重置为其原始值。
    猜你喜欢
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2010-12-07
    相关资源
    最近更新 更多