Weather Reader User Control (WRUC) 是一個基於 WPF、C# 開發的天氣預報控件,預設串接 MSN Weather 服務。本文完整記錄如何取得源碼、修改預設地點/溫度單位、新增「當日溫度範圍」功能、打包 DLL,並建立透明無框 WPF 視窗模擬 Windows 7 Gadget 體驗。
WeatherReaderMVC.dll

<forecast low="74" high="90" ... date="2010-07-20" /> <!-- 第一筆為當日 -->
// WeatherPoint.cs
private double highTemperature;
public double HighTemperature
{
get { return Math.Floor((highTemperature - 32) * 5 / 9); } // 華氏轉攝氏
set { highTemperature = value; }
}
private double lowTemperature;
public double LowTemperature
{
get { return Math.Floor((lowTemperature - 32) * 5 / 9); }
set { lowTemperature = value; }
}
public string TemperatureRangeString
=> $"{LowTemperature}° - {HighTemperature}°";
// MsnWeatherDataProvider.cs -> GetLatestWeatherReport()
result.LatestWeather.HighTemperature = result.Forecast[0].HighTemperature;
result.LatestWeather.LowTemperature = result.Forecast[0].LowTemperature;
result.Location = location;
<TextBlock Text="{Binding Path=LatestWeather.TemperatureRangeString, Mode=OneWay}"
Foreground="{Binding Path=TextColor}"
HorizontalAlignment="Right" Margin="0,64,43,0"
VerticalAlignment="Top" x:Name="currentTempRangeText" />

WpfWeatherReporterWeatherReaderMVC.dll<Window x:Class="WpfWeatherReporter.MainWindow"
xmlns:w="clr-namespace:WeatherReaderMVC;assembly=WeatherReaderMVC"
Title="MainWindow" Height="250" Width="300"
WindowStyle="None" Background="Transparent"
AllowsTransparency="True" ResizeMode="NoResize"
WindowStartupLocation="CenterScreen"
Icon="/WpfWeatherReporter;component/Images/Sunny.ico">
<Grid>
<w:WeatherReaderUI MouseLeftButtonDown="WeatherReaderUI_MouseLeftButtonDown" />
<Image Source="/WpfWeatherReporter;component/Images/Close.png"
Width="19" Height="19" Margin="253,63,7,132"
MouseLeftButtonDown="Image_MouseLeftButtonDown" ToolTip="Close" />
</Grid>
</Window>
private void WeatherReaderUI_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.DragMove(); // 標題列功能
}
private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.Close();
}
出處:https://www.cnblogs.com/gnielee/
透過 WPF 強大的繫結、樣式、透明視窗特性,配合開源控件微調,快速複刻 Windows 7 Gadget 體驗。同樣架構可延伸至股票、行事曆、系統監控等桌面小工具開發。