على الرغم من أنّ Transform يتيح لك تغيير مظهر العناصر أو مجموعات
العناصر، قد تكون هناك حالات تريد فيها التبديل بين قائمة
السلوكيات استنادًا إلى بعض الشروط. يشبه ذلك عبارة switch
أو عبارة if…else بلغات أخرى.
على سبيل المثال، يمكنك عرض خلفية مختلفة للصباح الباكر، والصباح والغداء وبعد الظهر والمساء والليل.
تسمح لك عبارات Condition في تنسيق خلفية شاشة الساعة بتضمين أجزاء مختلفة
من مشهد خلفية شاشة الساعة استنادًا إلى تقييم التعبيرات، على سبيل المثال:
<Condition>
    <Expressions>
        <Expression name="is_early_morning">
            <![CDATA[[HOUR_0_23] >= 6 && [HOUR_0_23] < 8]]
        </Expression>
        <Expression name="is_morning">
            <![CDATA[[HOUR_0_23] < 12]]
        </Expression>
        ...
    </Expressions>
    <Compare expression="is_early_morning">
        <!-- Early morning content here -->
        <Group ... />
    </Compare>
    <Compare expression="is_morning">
        <!-- Morning content here -->
        <Group ... />
    </Compare>
    ...
    <!-- The "else" case -->
    <Default>
        <!-- content -->
    </Default>
</Condition>
في ما يلي بعض الملاحظات حول الشروط:
- يتم استخدام أول عنصر Compareحيث يكونexpressionهوtrue، ويتم تجاهل العناصر الأخرى.
- بسبب تنسيق XML، قد يكون من الأسهل غالبًا تضمين تعريف expression
في عنصر CDATAكما هو موضّح هنا، لأنّ ذلك يتجنّب الحاجة إلى استخدام علامات XML الترميزية باستخدام عناصر العناصر، مثل>و&.
- يمكن تداخل بنية Condition.
