wpf로 윈도우를 디자인하다보면 이쁘게 디자인 하기 위해서 윈도우의 테두리를 없애는 경우가 많다

근데 윈도우 테두리를 없애면 그림자까지 같이 없어져 버린다


맨 처음 wpf 페이지를 생성하면

<Window .......>

<Grid>


</Grid>

</Window>


이런식으로 XAML이 생성된다

아래의 코드를 추가하면 윈도우의 테두리가 없어지고 배경이 투명이 된다

<Window AllowsTransparency="True" WindowStyle="None" Background="{x:Null}>

<Grid>


</Grid>

</Window>


그 다음 아래 코드를 추가하면

<Window AllowsTransparency="True" WindowStyle="None" Background="{x:Null}>

<Border BorderBrush="Gray" BorderThickness="0" Background="White" Margin="5">

<Border.Effect>

<DropShadowEffect ShadowDepth="0" BlurRadius="10" Color="Gray" />

</Border.Effect>

<Grid>


</Grid>

</Border>

</Window>


이런식으로 테두리에 그림자가 생긴다

//트레이 아이콘 생성 및 추가

System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon();

ni.Icon = new System.Drawing.Icon("파일경로\*.ico");


//트레이아이콘 더블클릭 이벤트 추가

ni.Visible = true;

ni.DoubleClick +=

    delegate(object sender, EventArgs args)

    {

         this.Visibility = System.Windows.Visibility.Visible;

    };


//트레이아이콘에 추가할 콘텍스트메뉴의 메뉴 아이템 생성 / 추가, 이벤트 추가

System.Windows.Forms.MenuItem mItem = new System.Windows.Forms.MenuItem();

mItem.Text = "종료";

mItem.Click += new EventHandler(mItem_Click);

ni.ContextMenu = conMenu;


이벤트를 추가할때 위 방법으로 해도 되고 아래방법으로 해도 된다.

'Windows > WPF' 카테고리의 다른 글

WPF 테두리없는 윈도우체 그림자 효과주기  (0) 2016.03.25
WPF 에서 타이머 사용하기  (2) 2016.03.24

윈폼에는 Timer 라는 컨트롤이 있었는데 WPF에는 없다

using System.Windows.Forms 를 사용해 윈폼의 타이머를 사용해도 되지만

WPF의 타이머를 사용해보도록 하겠다


using System.Windows.Threading 을 사용한다


DispatcherTimer timer = new DispatcherTimer();    //객체생성


timer.Interval = TimeSpan.FromMilliseconds(0.01);    //시간간격 설정

timer.Tick += new EventHandler(timer_Tick);          //이벤트 추가

timer.Start();                                       //타이머 시작. 종료는 timer.Stop(); 으로 한다


private void timer_Tick(object sender, EventArgs e)
{
    //여기에 실행시킬 구문을 입력하면 된다
}