مشكلة في مقدمة عنصر القائمة
-
03-07-2019 - |
سؤال
أواجه مشكلة في أحد مشاريعي 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>