سؤال

وجود مثل هذا النمط

<Style TargetType="TreeViewItem">
  <Style.Triggers>
    <Trigger Property="IsExpanded" Value="True">
      <Setter Property="Header" Value="Pink"></Setter>
    </Trigger>
  </Style.Triggers>
</Style>

أتوقع نص توسيع TreeViewItems إلى "الوردي", ولكن لا شيء في الحقيقة.إذا قمت بتغيير الخاصية="الخلفية" بدلا من ذلك ، يعمل.كيف رأس يختلف الخلفية?

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

المحلول

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

<TreeView>
    <TreeViewItem
        Header="Blue"/>
</TreeView>

و، في هذه الحالة، ووضع صراحة ستتجاوز أي شيء كنت وضعت في النمط.

نصائح أخرى

شرح ascalonx الجواب:

نسخ من جوش سميث بلوق:

هناك مجموعة محددة من القواعد والذي يستخدم داخليا بواسطة WPF إلى معرفة ما هي القيمة الحقيقية من DP هو.هنا هو ملخص موجز قواعد الأسبقية تستخدم عند حسم قيمة DP (من أعلى إلى أدنى الأولوية):

  1. نظام الملكية الإكراه
  2. نشط الرسوم المتحركة أو الرسوم المتحركة مع عقد السلوك
  3. القيمة المحلية
  4. TemplatedParent قالب
  5. نمط المشغلات
  6. قالب المشغلات
  7. نمط واضعي
  8. على غرار موضوع
  9. الميراث
  10. القيمة الافتراضية من التبعية الملكية الفوقية

حتى إذا قمت بتعيين عنوان العقار (أو إذا كنت ربط أعتقد) ، لديك هذه المشكلة.

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