Silverlight передает значение из представления в ViewModel MVVM - PullRequest
0 голосов
/ 26 февраля 2012

Привет. У меня есть текстовое поле с текстом, который изначально заполняется значением через привязку данных.

    <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 в своей модели просмотра. Я создал 2 RelayCommands

    SaveEmployeeNameCommand = new RelayCommand(SaveEmployee);

    RefreshEmployeeNameCommand = new RelayCommand(RefreshEmployee);

    private void SaveEmployee()
    {

// как получить значение из текстового поля (Параметр команды) здесь } * +1010 *

1 Ответ

1 голос
/ 26 февраля 2012

Не думаю, что вам нужно передавать имя как CommandParameter. Пока свойство Name сотрудника имеет общедоступный установщик и вы используете двустороннюю привязку к текстовому полю, вы можете получить имя сотрудника, используя this.Employee.Name.

...