WPF- هل هناك طريقة لإيقاف TreeViewItems من تحديد وتفعيل عند تحديد TreeViewItem الأصل؟
-
26-09-2019 - |
سؤال
لدي قالب تحكم TreeViewItems
وبدلاً من إظهار الطبيعة FocusVisualStyle
انا املك MultiTrigger
تم إعداد مثل هذا:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="true"/>
</MultiTrigger.Conditions>
<Setter Property="FontWeight" Value="Bold"/>
</MultiTrigger>
لكن هذا يسبب أيضًا FontWeight
للتغيير إلى جريئة عندما أ TreeViewItem's
تم تحديد العنصر الأصل. هل هناك أي طريقة يمكنني منع ذلك من الحدوث؟
المحلول
سؤال عظيم. عليها أن تفعل مع أسبقية قيمة خاصية التبعية.
يحدث هذا لأن عناصر عرض شجرة الطفل لا تتجاوز خاصية الوزن بأي شكل من الأشكال حتى يرثوها من الوالدين البصريين. ما يمكنك فعله هو إضافة مشغل عادي آخر عندما يكون Isselected خطأ.
<Trigger Property="IsSelected" Value="false">
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="true"/>
</MultiTrigger.Conditions>
<Setter Property="FontWeight" Value="Bold"/>
</MultiTrigger>
الآن سيكون لدى Child TreeViewItem خاصية Fontweight الخاصة بها بواسطة تشغيل من شأنه أن يتجاوز الخاصية الموروثة من الوالد المحدد.
لا تنتمي إلى StackOverflow