[圖] 手機Gadget
資料來源: CodeProject - 3D gadgets for your WPF Desktop
下面步驟說明如何製作一個小Gadget. 首先, 產生一個WPF Windows Application的專案. 然後, 修改Window Property.
1. Background = Transparent
背景顏色要設成透明色
2. AllowsTransparency = True
如果AllowsTransparency 為 False的話, Window Background將只會被設成黑色.
3. Window Style = None
將視窗樣式設定成沒有邊框.
如果不這麼做的話, 執行此程式後, 會出現一個Exception. 告訴你當AllowsTransparency為True時,WindowStyle必須為True
部分XAML檔如下所示:
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
WindowStyle="None"
AllowsTransparency="True"
Background="Transparent">
...
如果要用滑鼠移動透明視窗, 必須另外加入Mose Event.
在XAML檔中加入
MouseLeftButtonDown="Window_MouseLeftButtonDown"
點選C#檔, 在Window_MouseLeftButtonDown函式中, 加入下面程式碼(在視窗上點選滑鼠左鍵,可拖曳此視窗)
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.DragMove();
}
5. Close Application
在視窗呈現完全透明情況下,視窗的非工作區的一些選項 ([關閉] 功能表、[最小化]、[最大化] 和 [還原] 按鈕等等) 就無法使用, 因此, 如果要關閉視窗, 就需要額外設計一個close的button.
Close Button的XAML檔如下所示:
<button dock="Right" margin="5" height="Auto" width="37" name="button1" click="button1_Click" verticalalignment="Center" background="Red" foreground="White" fontsize="16">X</button>
點選C#檔, 在button1_Click函式中, 加入下面程式碼(點選關閉的button後, 關閉此視窗)
private void button1_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
執行結果如下所示:
[NOTE]如果你想要此Gadget不要出現Taskbar, 可以作以下的設定:
ShowInTaskbar="False" Topmost="True"
沒有留言:
張貼留言