Hallo Guten Tag, ich bin nur neu mit WPF und MVVM Design-Muster und ich habe viel gelernt von den Blogs und Videos von Sir BRIAN LAGUNAS in PRISM .. aber möchte nur eine noob Frage stellen ..hats falsch mit meinem Code es funktioniert für mich ... jede Hilfe ist sehr dankbar, danke. hier ist mein Code:Prism 6 DelegateCommand ObservesProperty Code
MY VIEW MODEL
public class Person : BindableBase
{
private myPErson _MyPerson;
public myPErson MyPerson
{
get { return _MyPerson; }
set
{
SetProperty(ref _MyPerson, value);
}
}
public Person()
{
_MyPerson = new myPErson();
updateCommand = new DelegateCommand(Execute, CanExecute).ObservesProperty(() => MyPerson.FirstName).ObservesProperty(() => MyPerson.Lastname);
// updateCommand = new DelegateCommand(Execute).ObservesCanExecute((p) => CanExecute); /// JUST WANNA TRY THIS BUT DUNNO HOW
}
private bool CanExecute()
{
return !String.IsNullOrWhiteSpace(MyPerson.FirstName) && !String.IsNullOrWhiteSpace(MyPerson.Lastname);
}
private void Execute()
{
MessageBox.Show("HOLA");
}
public DelegateCommand updateCommand { get; set; }
}
MyModel
auf eine andere Klasse Datei erklärt
public class myPErson : BindableBase
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set
{
SetProperty(ref _firstName, value);
}
}
private string _lastname;
public string Lastname
{
get { return _lastname; }
set
{
SetProperty(ref _lastname, value);
}
}
}
Ansicht XAML Co de
<Window x:Class="Prism6Test.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:myVM="clr-namespace:Prism6Test.ViewModel"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<myVM:Person x:Key="mainVM"/>
</Window.Resources>
<Grid DataContext="{StaticResource mainVM}">
<TextBox HorizontalAlignment="Left" Height="23" Margin="217,103,0,0" TextWrapping="Wrap" Text="{Binding MyPerson.FirstName,UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="120"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="217,131,0,0" TextWrapping="Wrap" Text="{Binding MyPerson.Lastname,UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="120"/>
<Button Content="Button" Command="{Binding updateCommand}" HorizontalAlignment="Left" Margin="242,159,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
</Window>
Ich habe schon diese Zeilen lesen, aber es funktioniert nicht für mich arbeiten .. und kann nicht verstehen, wie kann ich es richtig codieren .. bitte helfen Sie mir ragarding diese Angelegenheit ..HOPE für jede Antwort soon..thx
ObservesProperty method isn't observing model's properties at Prism 6
Was ist der Knopf zu tun? – Jens
Poste ein Nachrichtenfeld "HOLA". – Neil
Okay. Jetzt sehe ich es. Was ist das Problem des Codes? Sie sehen etwas in den TextBoxen nicht? – Jens