سؤال

أواجه مشكلة في أحد مشاريعي XBAP (تطبيق متصفح WPF):

هنا لدي مربعي قائمة:

  • واحدة قائمة بسيطة تحتوي على محتوى النص
  • الثاني يحتوي على موسع مثل كل عنصر:

نص بديل http://i44.tinypic.com/117bpj4.jpg

الآن عندما أقوم بالنقر فوق العنصر الموجود في مربع القائمة الأول (على الجانب الأيسر)، تتغير المقدمة إلى اللون الأبيض ثم تعود إلى اللون الأسود إذا تم تحديد عنصر آخر.

أما بالنسبة للعنصر الموجود في مربع القائمة الثاني (الجانب الأيمن)، فعند النقر فوق العنصر، تظل المقدمة سوداء.وذلك لأن محتوى النص نفسه موجود ضمن عنصر تحكم Expander:

نص بديل http://i39.tinypic.com/124vn6u.jpg

الآن كيف أجعل لون المقدمة لعنصر التحكم الموسع يتصرف بشكل مشابه عند تحديد/تغيير التحديد لعنصر مربع القائمة؟هل هناك أي خاصية تبعية يمكنني استخدامها لتحقيق ذلك؟

ملحوظة:أريد أن يتصرف مربع القائمة الثاني (يمين) بشكل مشابه تمامًا للمربع الأول (يسار) فيما يتعلق باللون الأمامي.

هل كانت مفيدة؟

المحلول

فقط اضف Foreground="{TemplateBinding TextElement.Foreground}" إلى العناصر الموجودة في القالب مثل هذا

<DataTemplate DataType="{x:Type l:City}">
    <Expander 
        Header="Click to Expand" 
        Foreground="{TemplateBinding TextElement.Foreground}"
        >
        <TextBlock 
            Text="{Binding Name}" 
            Foreground="{TemplateBinding TextElement.Foreground}"
            />
    </Expander>
</DataTemplate>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top