/ / ako získať hodnotu texboxu z pohľadu na viewmodel v mvvm Silverlight? - strieborné svetlo, mvvm, hranol

ako získať hodnotu texboxu z pohľadu do modelu v Silverlight mvvm? - silverlight, mvvm, hranol

V mojom projekte používam Silverlight5 so vzorom MVVM. Mám nasledujúce:

View        : Manager.xaml
Code-Behind : Manager.Xaml.cs
ViewModel   : ManagerViewModel.cs

podľa môjho názoru mám jedno textové pole a pridelil som hodnotu 10.

Manager.xaml

<TextBox Name="gid" Visibility="Collapsed" />

Manager.xaml.cs

gid.Text=(((TextBlock)DG.Columns[5].GetCellContent(DG.SelectedItem)).Text);
ManageViewModel vm = DataContext as ManageViewModel;
if (vm != null)
{
vm.EditCommand.Execute();
}

ManagerViewModel.cs:

private DelegateCommand _editCommand;
public DelegateCommand EditCommand
{
get
{

if (_editCommand == null)
_editCommand = new DelegateCommand(() =>
{
**//Here i need to get the value that is assigned in the textbox.**
ANCViewModel.Show();
});
return _editCommand;
}
}

Tu je moja otázka, ako musím získať hodnotu, ktorá je priradená v textovom poli z pohľadu na ViewModel. Nejaká pomoc..?

odpovede:

0 pre odpoveď č. 1

Ako som pochopil z vášho kódu.

ManageViewModel vm = DataContext as ManageViewModel;

váš DataContext je ManageViewModel, takže by ste mali použiť tento kontext ...

< TextBox Name="gid" Text={Binding MyTextPropertyInMyViewModel}
Visibility="Collapsed" why ? />

Váš príkaz delegáta je tiež v ViewModel, takže môžete vo svojom pohľade ľahko používať MyTextPropertyInMyViewModel.

Ak používate MVVM, znamená to, že používate DataContext (alebo to môže byť prostriedok). Mali by ste ho používať pre zdroje prvkov používateľského rozhrania a tiež pre príkazovanie.

Týmto spôsobom oddelíte podnikanie a používateľské rozhranie. ViewModel sú naše obchodné objekty a vy si môžete myslieť, že Model sú naše subjekty.

Mali by ste preto použiť väzby na váš DataContextpre vaše dátové mriežky, textové bloky a ďalšie vizuálne prvky a spravujte svoje podnikanie na vašom viewModel. Týmto spôsobom môžete používať svoj model zobrazenia niekde inde. v mobilnej aplikácii.