[WPF] 디자인 깨질때 해결방법

728x90

wpf로 작업하시다보면 xaml에서 보는 디자인과 실행후 디자인이 다를때가 있습니다. 

 

이럴때는 해결방법은 window의 width와 height를 삭제하고 첫번째 자식요소(일반적으로 grid)의 width와 height를 수정해야합니다.

 

그리고 window에서는 SizeToContent="WidthAndHeight" 옵션을 넣어주면 됩니다.

 

<Window x:Class="SmartPD_WPF.AddProduct"
        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:SmartPD_WPF"
        mc:Ignorable="d"
        Title="상품정보"  WindowStartupLocation="CenterOwner" ResizeMode="NoResize" SizeToContent="WidthAndHeight">
    <Grid Background="#FFE5E5E5" x:Name="innerContainer" Height="725" Width="784">
    	<!--내용 작성-->
    </Grid>

 

 

만약 윈도우 사이즈에 따라 창 크기를 변하게 하고 싶다면 아래 코드를 입력하시면 됩니다.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace SmartPD_WPF
{
    /// <summary>
    /// AddProduct.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class AddProduct : Window
    {
        public AddProduct()
        {
            InitializeComponent();

            ClearValue(SizeToContentProperty);
            innerContainer.ClearValue(WidthProperty);
            innerContainer.ClearValue(HeightProperty);


        }
    }
}

 

 

'C# Programming > WPF' 카테고리의 다른 글

[WPF] 탭 컨트롤 & 모달, 모달리스  (0) 2024.05.17
[WPF] 화면이동 프레임  (0) 2024.05.17
[WPF] Settings.settings 만들기  (0) 2024.05.16
[WPF] 동기, 비동기 RelayCommand  (0) 2024.05.16
[WPF] 트리거(Trigger)  (0) 2024.05.16