DeviceFamily 特定程式碼

通常,UWP 用於製作在 Windows 10 上跨多個不同裝置執行的單個應用程式。但是,也可以為特定裝置製作程式碼。你可以通過幾種不同的方式實現此目的。

不同的 XAML 佈局

如果要對特定裝置系列使用特定佈局,可以通過建立與預設 XAML 檔案同名的新 XAML 頁面專案來執行此操作,並使用字尾指示你要定位的裝置系列。然後,你就必須 MainPage.xaml 中的所有裝置和 MainPage.DeviceFamily- [特定家庭] .XAML 只為一個特定的家庭,這將覆蓋預設佈局,見下圖:

StackOverflow 文件

如果要對大量檔案執行此操作,可以建立一個名為 DeviceFamily- [特定系列] 的資料夾,並將所有 XAML 頁面放入其中,但現在與預設的 XAML 檔名稱完全相同(見下文)。在這兩個示例中,所有頁面都將共享相同的程式碼隱藏檔案,因此功能相同,但佈局是根據特定的螢幕大小定製的。

StackOverflow 文件

特定家庭的程式碼

如果你只想在特定裝置系列上執行部分程式碼隱藏或 ViewModel,則可以使用 AnalyticsVersionInfo 類中的 DeviceFamily 屬性。

AnalyticsVersionInfo avi = AnalyticsInfo.VersionInfo;
var deviceFamily = avi.DeviceFamily;

if(deviceFamily == "Windows.Mobile")
{
   Console.WriteLine("You're on mobile device right now.");
}
else if(deviceFamily == "Windows.Desktop")
{
   Console.WriteLine("You're on desktop");
}
else if(deviceFamily == "Windows.IoT")
{
   Console.WriteLine("You're on IoT");
}
//....