SilverLight程序之:SilverLight桌面程序的窗体调整及最大化、最小化和关闭按钮
时间:2011-05-09 来源:记忆逝去的青春
概述
Application 成员
封装 Silverlight 应用程序。
Application.Current 属性
获取当前应用程序的 Application 对象。
Window.DragResize 方法
在受信任的应用程序中,开始鼠标拖动操作以移动指定的窗口边缘或角。
通常使用此方法实现用户在隐藏窗口边框时拖动窗口边缘和角的方法。
Window.DragMove 方法
在受信任的应用程序中,开始鼠标拖动操作以移动窗口。
通常使用此方法实现用户在隐藏窗口标题栏时拖动窗口边缘和角的方法。
Window.Close 方法
除非取消 Closing 事件,否则关闭应用程序窗口。
使用此方法提供备选的窗口"关闭"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。
Window.WindowState 属性
获取或设置一个值,该值指示窗口是处于最大化、最小化还是正常状态。
使用此属性提供备选的窗口"最小化"和"最大化"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。
WindowState 枚举
定义指示浏览器外应用程序窗口的状态的常数。
Normal 应用程序窗口处于正常状态,它所占据的屏幕空间大小取决于其 Window.Height 和 Window.Width 值。
Minimized 应用程序窗口最小化到任务栏上。
Maximized 应用程序窗口最大化,占据了屏幕的整个工作区。
效果
xaml代码
<Grid x:Name="LayoutRoot"
Background="Orange">
<!--可以自由拖动标题-->
<Grid x:Name="TitleBar"
Background="Blue"
Height="30"
VerticalAlignment="Top" />
<!--可以自由拉伸窗体-->
<Grid x:Name="ResizeArea"
Background="Blue"
Height="30"
Width="30"
VerticalAlignment="Bottom"
HorizontalAlignment="Right" />
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="8">
<!--最小化按钮-->
<Button x:Name="MinimizeButton"
Width="15"
Height="15" />
<!--最大化按钮-->
<Button x:Name="MaximizeButton"
Width="15"
Height="15" />
<!--关闭按钮-->
<Button x:Name="CloseButton"
Width="15"
Height="15" />
</StackPanel>
</Grid>
cs代码
public MainPage()
{
InitializeComponent();
//最大化按钮单击事件
MaximizeButton.Click += new RoutedEventHandler(MaximizeButton_Click);
//最小化按钮单击事件
MinimizeButton.Click += new RoutedEventHandler(MinimizeButton_Click);
//关闭按钮单击事件
CloseButton.Click += new RoutedEventHandler(CloseButton_Click);
//标题栏鼠标左键按下
TitleBar.MouseLeftButtonDown += new MouseButtonEventHandler(TitleBar_MouseLeftButtonDown);
//调整范围鼠标左键按下
ResizeArea.MouseLeftButtonDown += new MouseButtonEventHandler(ResizeArea_MouseLeftButtonDown);
}
void ResizeArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
//Application 成员
//封装 Silverlight 应用程序。
//Application.Current 属性
//获取当前应用程序的 Application 对象。
//Window.DragResize 方法
//在受信任的应用程序中,开始鼠标拖动操作以移动指定的窗口边缘或角。
//通常使用此方法实现用户在隐藏窗口边框时拖动窗口边缘和角的方法。
Application.Current.MainWindow.DragResize(WindowResizeEdge.BottomRight);
}
void TitleBar_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
//Window.DragMove 方法
//在受信任的应用程序中,开始鼠标拖动操作以移动窗口。
//通常使用此方法实现用户在隐藏窗口标题栏时拖动窗口边缘和角的方法。
Application.Current.MainWindow.DragMove();
}
void CloseButton_Click(object sender, RoutedEventArgs e)
{
//Window.Close 方法
//除非取消 Closing 事件,否则关闭应用程序窗口。
//使用此方法提供备选的窗口"关闭"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。
Application.Current.MainWindow.Close();
}
void MinimizeButton_Click(object sender, RoutedEventArgs e)
{
//Window.WindowState 属性
//获取或设置一个值,该值指示窗口是处于最大化、最小化还是正常状态。
//使用此属性提供备选的窗口"最小化"和"最大化"按钮。这隐藏窗口标题栏和边框时,在受信任的应用程序中尤为有用。
//WindowState 枚举
//定义指示浏览器外应用程序窗口的状态的常数。
//Normal 应用程序窗口处于正常状态,它所占据的屏幕空间大小取决于其 Window.Height 和 Window.Width 值。
// Minimized 应用程序窗口最小化到任务栏上。
//Maximized 应用程序窗口最大化,占据了屏幕的整个工作区。
Application.Current.MainWindow.WindowState = WindowState.Minimized;
}
void MaximizeButton_Click(object sender, RoutedEventArgs e)
{
Application.Current.MainWindow.WindowState =
Application.Current.MainWindow.WindowState ==
WindowState.Maximized ? WindowState.Normal : WindowState.Maximized;
}
}
大功告成!!!