WPF学习笔记-自定义窗口

1.在Expression Blend中添加一个新窗口,设置属性:AllowsTransparency=True,WindowStyle=None,WindowStartupLocation=CenterScreen

ScreenShot00052 ScreenShot00053

并将window的Alpha值设为0,使原来的窗口成为透明窗口

ScreenShot00054

2.删除默认的Grid元素,然后从工具箱中添加一个Border元素,设置Border的属性:

CornerRadius="10,10,10,10" BorderThickness="8,8,8,8" Background="#FFFFFFFF" BorderBrush="#CC000000"

3.为Border添加一个子Border,设置其属性:

CornerRadius="8,8,8,8" Background="#99FFFFFF"

4.为第二个Border添加一个Grid元素,然后为这个Grid添加两行:

ScreenShot00055 ScreenShot00056

将第一行的Height设为Auto,第二行的Height设为*(1 star)

5.继续添加子元素:

ScreenShot00057

CloseWindowButton是一个自定义按钮,用于关闭窗口。

6.现在我的自定义窗口如下:

ScreenShot00063 ScreenShot00064

不过这个窗口还什么都干不了,无法用鼠标移动窗口位置,也无法直接关闭,还需要给她添加一些后台代码

7.为WindowTitleLabel和CloseWindowButton添加事件处理代码:

ScreenShot00060 ScreenShot00061

ScreenShot00062

在VS中添加代码:

        private void WindowTitleLabel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            this.DragMove();
        }

        private void CloseWindowButton_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

到这里算是大功告成了,现在按住窗口的标题栏合理拖动窗口,点击关闭按钮关闭窗口。

posted on 2009-01-31 22:10  wudong  阅读(4363)  评论(2编辑  收藏  举报

导航