खोज…


डिवाइसफ़ैमिली विशिष्ट कोड

सामान्य तौर पर, यूडब्ल्यूपी का उपयोग एकल अनुप्रयोग बनाने के लिए किया जाता है जो कई अलग-अलग उपकरणों में विंडोज 10 पर चलता है। हालांकि, विशिष्ट उपकरणों के अनुरूप कोड बनाना भी संभव है। आप इसे कई अलग-अलग तरीकों से हासिल कर सकते हैं।

विभिन्न XAML लेआउट

यदि आप एक निश्चित "डिवाइस परिवार" के लिए एक विशिष्ट लेआउट का उपयोग करना चाहते हैं, तो आप एक नया XAML पेज आइटम डिफ़ॉल्ट XAML फ़ाइल के रूप में उसी नाम से बनाकर ऐसा कर सकते हैं, जिस डिवाइस परिवार को आप लक्षित कर रहे हैं उसे इंगित करने के लिए एक प्रत्यय के साथ। तो फिर तुम सभी उपकरणों और MainPage.DeviceFamily- [विशिष्ट परिवार] सिर्फ एक विशिष्ट परिवार है, जो डिफ़ॉल्ट लेआउट के ऊपर लिख देगा के लिए, नीचे देखें .xaml के लिए MainPage.xaml होगा:

चित्र 1

यदि आप बहुत सारी फ़ाइलों के लिए ऐसा करना चाहते हैं, तो आप DeviceFamily- [विशिष्ट परिवार] नाम से एक फ़ोल्डर बना सकते हैं और उसमें सभी XAML पृष्ठ डाल सकते हैं, लेकिन अब बिल्कुल उसी नाम के साथ डिफ़ॉल्ट XAML फ़ाइल (नीचे देखें)। दोनों उदाहरणों में, सभी पृष्ठ समान कोड-बैक फ़ाइल साझा करेंगे, इसलिए कार्यक्षमता समान है, लेकिन लेआउट विशिष्ट स्क्रीन आकारों के अनुरूप है।

चित्र 2

विशिष्ट परिवार के लिए कोड

यदि आप केवल एक विशिष्ट डिवाइस परिवार पर अपने कोड-पीछे या अपने 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");
}
//....

वर्तमान डिवाइस परिवार प्राप्त करें

यहां वर्तमान डिवाइस परिवार को प्राप्त करने का एक सरल पोर्टेबल तरीका है:

/// <summary>
/// All the device families 
/// </summary>
public enum DeviceFamily
{
    Desktop,
    Mobile,
    Iot,
    Xbox,
}

/// <summary>
/// The helper to get the current device family
/// </summary>
public static class DeviceFamilyHelper
{
    /// <summary>
    /// Return the family of the current device
    /// </summary>
    /// <returns>the family of the current device</returns>
    public static DeviceFamily GetDeviceFamily()
    {
        switch(ResourceContext.GetForCurrentView().QualifierValues["DeviceFamily"].ToLowerInvariant())
        {
            case "mobile":  return DeviceFamily.Mobile;    
            case "xbox":    return DeviceFamily.Xbox;
            case "iot":     return DeviceFamily.Iot;
            default:        return DeviceFamily.Desktop;
        }
    }
}

पता लगाएँ कि क्या कोई API अनुबंध समर्थित है

सिस्टम के डिवाइस / रिलीज़ संस्करण के आधार पर, कुछ एपीआई उपलब्ध नहीं हो सकते हैं। आप देख सकते हैं कि ApiInformation.IsApiContractPresent () का उपयोग करके कौन सा अनुबंध समर्थित है

उदाहरण के लिए, यह फोन उपकरणों पर सच लौटेगा और दूसरों पर गलत होगा

ApiInformation.IsApiContractPresent(typeof(CallsPhoneContract).FullName, 1)

वह अनुबंध जहां एक API संबंधित होता है वह MSDN पर नीचे एपीआई पृष्ठ पर उपलब्ध होता है या वैश्विक सूची एपीआई अनुबंध पृष्ठ से उपलब्ध होता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow