kullanarak WPF'de Bind komutu MVVM ve WPF'u öğreniyorum. Projemde bir xaml
dosyası var ve arkadaki kodda basit bir tıklama olay işleyicisi var.MVVM
Şimdi aynısını MVVM'da yapmak istiyorum. Çok sayıda makale okudum ve sofrada birçok cevap okudum. Ama hala bunu yapamaz.
herkes bir düğme tık olay MVVM yapılır edildiği basit bir örnek verebilir misiniz.Düzenleme önceden
<Window x:Class="WhiteBalance.BaseCalWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:uc="clr-namespace:NumberUpDownControl;assembly=NumberUpDownControl"
xmlns:viewn="clr-namespace:WhiteBalance.ViewModels"
Title="RefImgSettingWindow" Height="900" Width="1000" ResizeMode="NoResize"
BorderThickness="4">
<Window.Resources>
<viewn:DashBoardViewModel x:Key="demokey"></viewn:DashBoardViewModel>
</Window.Resources>
<Grid x:Name="gdParent" DataContext="{StaticResource demokey}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="490" />
<ColumnDefinition Width="488*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="300" />
<RowDefinition Height="300" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0">
<Label Content="{Binding Path=NAME,Mode=TwoWay}" Height="28" Name="lblTest" />
<Button Content="Capture" Height="23" Name="btnCapture" Width="75" Command="{Binding Path=SaveCommand}"
Canvas.Left="94" Canvas.Top="254" />
</StackPanel>
</Grid>
</Window>
namespace WhiteBalance.ViewModels
{
public class DashBoardViewModel: ObservableObject
{
private string _name = "dsqdasd";
public string NAME
{
get { return _name; }
set { _name = value; }
}
public ICommand SaveCommand
{
get;
set;
}
private bool CanExecuteSaveCommand()
{
return true; // !string.IsNullOrEmpty(LastName);
}
private void CreateSaveCommand()
{
SaveCommand = new RelayCommand(SaveExecute, CanExecuteSaveCommand);
}
public void SaveExecute()
{
//Person.Save(_newPerson);
NAME = "Changed Name";
}
public DashBoardViewModel()
{
//objModel.TestText = "This will change";
NAME = "TestName";
}
}
}
teşekkür ederiz.
Herhangi bir MVVM framework kullanıyor musunuz? Ne denedin? –
MVVM çerçevesinin kullanılması zorunlu mudur? Herhangi bir çerçevenin farkında değilim. Sahip olduğum tek şey ICommand kullanmam gerekiyor ama bunu nasıl kullanacağım ve ViewModel'de hangi değişikliklere ihtiyaç duyulduğunu bilmiyorum. – Narendra
Hayır, ama A LOT yardımcı olur, ben tavsiye ederim MVVM Işık http://www.galasoft.ch/mvvm/ –