سؤال

واني اسعى الى الحصول على zIndexing تعمل على UserControl مخصصة فحسب، وإنما لقطات الجزء السفلي من السيطرة عندما ينبثق داخل TabControl علبة كما هو مبين:

وهذا هو بلدي XAML

<StackPanel Panel.ZIndex="1">
    <TabControl Name="TabCtrlMain" Panel.ZIndex="2">
        <TabItem Name="TabItmOrdrLst" Visibility="Collapsed" Panel.ZIndex="3" >
            <StackPanel Panel.ZIndex="4">
                <ri:OrderList x:Name="OrderList" Panel.ZIndex="5" />
                <Rectangle Fill="Orange" Height="80" Width="300" />
            </StackPanel>
        </TabItem>
    </TabControl>
    <Rectangle Fill="Blue" Height="80" Width="300" />
</StackPanel>
هل كانت مفيدة؟

المحلول

ومن الصورة التي نشرت، يبدو كما لو أن تحكم المستخدم لديه نوعا من نافذة منبثقة محاكاة (الجزء ملاحظات)، وهو طفل في UserControl. إذا كان هذا هو الحال، فإنه قد يفسر لقطة إذا كانت لوحة ملاحظات ليست جزءا من حسابات تخطيط OrderList ل. النظر في إصدار ملاحظات السيطرة على نافذة منبثقة صحيح، وإلا استخدام شيء مثل المتوسع الذي، عندما الموسعة، يمكن ان اقول انها الأم (في UserControl) أنه يتطلب مساحة أكبر لتقديم.

ومن الجدير بالذكر أن الحاويات مثل StackPanel دائما "كومة" عناصر التحكم التابعة لها (ومن هنا جاء الاسم)، وهذا يعني أن الضوابط الطفل سوف تتداخل أبدا. لهذا السبب، وضع Z-مؤشر على أي من انها childred لا معنى له. فما استقاموا لكم فاستقيموا أقترح استخدام الشبكة أو قماش كما حاويات تريد تتداخل الضوابط ثم قم بتعيين على Z-مؤشر. أيضا، تذكر أن Z-مؤشر غير ذات الصلة فقط في سياق الأم الفوري لعنصر التحكم، بحيث تعطي كل الضوابط Panel.Zindex = "ن" كما في لن تعمل المثال أعلاه.

ومن ما أستطيع أن أرى أن هذه المشكلة هي مشكلة تخطيط، ليست مشكلة Z-مؤشر.

نصائح أخرى

ومن غير الواضح من المثال الخاص بك ما تتوقع ZIndex للقيام. ZIndex يؤثر فقط على التراص النسبي للعناصر في نفس الحاوية حتى أي من الإعدادات ZIndex لديك في المثال الخاص بك وسوف يكون لها أي تأثير. سيتم قص OrderList من قبل TabItem بغض النظر عن القيم النسبية للZIndex بينه وبين أي من أبنائها.

وربما كنت ترغب في كسر في UserControl من StackPanel. شيء يمكنك القيام به للعب مع حولها وضع العنصر في الطائرة Z هو استخدام الشبكة كما الحاوية الأبعد (إذا كنت لا تفعل ذلك بالفعل) واستخدام هذا كدليل لزرع بها عناصر الخاص بك. منذ العناصر داخل الشبكة يمكن أن تشغل نفس المساحة وعدد ض أمر على أساس الترتيب الذي كنت المعلنة، قد تكون قادرة على الحصول على وظيفة كنت تبحث عنه.

ولست متأكدا إذا كان هذا يناسب ما نحاول القيام به، ولكن الامر يستحق المحاولة. تسير العناصر داخل حاوية إلى أن يثقب في حدود حاوية الأم، وذلك لتحقيق ما كنت تبحث عن أود أن أعتقد أن في UserControl يجب أن يكون أخ من StackPanel بدلا من أن يكون الطفل منه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top