하아찡

[C#/WPF] Login 프로젝트 LoginMain 본문

C#/코인프로그램 - 코드

[C#/WPF] Login 프로젝트 LoginMain

하아찡 2023. 12. 12. 21:46

현재는 회원가입과 로그인만 작업된상태.

LoginMain 코드는 실질적으로

왼쪽에 회원가입과 오른쪽 공백을 변경을 하기위해 공백을 둔 상태입니다.

회원가입을 누를경우 로그인 영역이 회원가입영역으로 바뀌도록 설정됐습니다.

 

작업결과물

 

 

 

 

LoginMain.xaml

<UserControl x:Class="CoinLogin.Views.LoginMain"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:prism="http://prismlibrary.com/"             
             xmlns:mystyle ="clr-namespace:CoinLogin"
             prism:ViewModelLocator.AutoWireViewModel="True">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary  Source="pack://application:,,,/CoinLogin;component/MyResource.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1.4*"/>
        </Grid.ColumnDefinitions>

        <Border Grid.Column="0">
            <Border.Background>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                    <GradientStop Color="#6BC59C" Offset="0"/>
                    <GradientStop Color="#6Ba59C" Offset="1"/>
                </LinearGradientBrush>
            </Border.Background>

            <Grid>
                <Canvas>
                    <Polygon Points="0,20 230,140  0,270" Fill="#339CD5C2"/>
                    <Polygon Points="300,330 310,200  180,270" Fill="#339CD5C2"/>
                    <Polygon Points="100,400 180,450  200,370" Fill="#339CD5C2"/>
                    <Polygon Points="270,150 350, 80  250,0" Fill="#339CD5C2"/>
                    <Ellipse Margin="120 20 0 0" Width="20" Height="20" Fill="#339CD5C2" />
                    <Ellipse Margin="80 350 0 0" Width="20" Height="20" Fill="#339CD5C2" />
                    <Ellipse Margin="220 450 0 0" Width="20" Height="20" Fill="#339CD5C2" />
                </Canvas>

                <StackPanel VerticalAlignment="Center">
                    <TextBlock Text="회원가입" Style="{StaticResource titleText}"/>
                    <TextBlock Text="회원가입을 원하시면 아래 버튼을 눌러주세요." Style="{StaticResource normalText}" Margin="20 30" Opacity="0.8"/>
                    <Button Content="회원가입" Command="{Binding CommandSingUp}" Style="{StaticResource button}"/>
                </StackPanel>
            </Grid>
        </Border>
        
        
        <Border Grid.Column="1" Background="White">
            <ContentControl  x:Name="RegionBase" prism:RegionManager.RegionName="LoginView" />
        </Border>
    </Grid>
</UserControl>

 

 

LoginMainViewModel.cs

using CoinLogin.Views;
using DB;
using Prism.Commands;
using Prism.Mvvm;
using Prism.Regions;
using System.Windows;

namespace CoinLogin.ViewModels
{
    public class LoginMainViewModel : BindableBase
    {
        private IRegionManager _rm;

        private DelegateCommand commandsingup;
        public DelegateCommand CommandSingUp =>
            commandsingup ?? (commandsingup = new DelegateCommand(ExecuteCommandSingUp));

        void ExecuteCommandSingUp()
        {
            if (Mssql.Instance.GetConnection() == false)
            {
                MessageBox.Show("서버가 닫혀있습니다. 비회원으로 이용해주세요.");
            }
            else
            {
                _rm.RequestNavigate("LoginView", "SingUp");
            }
        }


        public LoginMainViewModel(IRegionManager rm)
        {
            _rm = rm;
            _rm.RegisterViewWithRegion("LoginView", typeof(Login));
        }
    }
}

 

반응형