티스토리 뷰
반응형
[wpf/c#] mvvm 을 활용한 런처(전원 관리 및 파일 관리) 만들기(1/3)
#1.프로젝트 생성 및 라이브러리 설치
-Launcher wpf 프로젝트 생성(.Net Framework 4.6.2)
-MvvmLight 라이브러리 설치(5.4.1.1)
#2.기본 Mvvm 기본 형식 완성
#MainViewModel
public class MainViewModel : ViewModelBase
{
public MainViewModel()
{
Title = "런처 테스트";
OnClickCommand = new RelayCommand(OnClickCommandAction, null);
}
private string _title;
public string Title
{
get { return _title; }
set
{
_title = value;
RaisePropertyChanged("Title");
}
}
public RelayCommand OnClickCommand { get; set; }
private void OnClickCommandAction()
{
}
}
#VIew - MainWindow.xaml
<Window x:Class="Launcher_SE.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Launcher_SE"
mc:Ignorable="d"
DataContext="{Binding Source={StaticResource Locator}, Path=MainViewModel}"
Title="MainWindow" Height="450" Width="800">
<StackPanel>
<TextBlock Width="500" Height="50" Text="{Binding Title}"/>
<Button Width="500" Height="50" Content="Click" Command="{Binding OnClickCommand}" />
</StackPanel>
</Window>
#Locator - ViewModelLocator
public class ViewModelLocator
{
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<MainViewModel>();
}
public MainViewModel MainViewModel
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
public static void Cleanup()
{
}
}
#화면
반응형
'c#' 카테고리의 다른 글
[c#/wpf/winform/unity] Byte to String / String to Byte 로 변환 컨버팅 (0) | 2022.03.02 |
---|---|
[c#/wpf/winform] UDPHelper구현(server/client) (0) | 2022.03.02 |
[c#/wpf] UpdateSourceTrigger=PropertyChanged (mvvm 사용 시 바인딩 객체값이 변경되면 바로 반영하기) (0) | 2022.02.24 |
[wpf/c#] mvvm light, CommandParameter 사용법 (0) | 2022.02.24 |
[wpf/c#] mvvm light를 이용한 간단한 샘플 프로그램(소스) (0) | 2022.02.24 |
댓글
반응형