تطبيق النمط على جميع TreeViewItem
-
21-09-2019 - |
سؤال
مرحبًا ، المشكلة التي أواجهها هي أن لديّ تحكم متعددة في TreeView وأن كل TreeView لديه أنماط TreeViewItem الخاصة به ، ويضعها
TreeView itemContainersTyle = "{StaticResource Style1}"
لن يضبط عنصر الجذر إلا على جميع عناصر الطفل ، وكيفية تطبيق نمط على جميع عناصر الطفل في TreeView
المحلول
هناك عدة طرق لتحقيق ذلك:
يمكنك أن تجعل أسلوبك الافتراضي لجميع TreeViewItems:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
الفرق هو أنك لا تقوم بتعيين سمة X: Key ، لكنك تقوم بتعيين سمة TargetType. لا تحتاج إلى تعيين itemContainersTyle على TreeView الخاص بك في هذه الحالة.
يمكنك أيضًا ضبط أسلوبك كأناقة افتراضية لجميع TreeViewItems ، ولكن فقط داخل TreeView:
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
</TreeView.Resources>
</TreeView>
في هذه الحالة ، لا تحتاج أيضًا إلى تعيين itemContainersTyle على TreeView الخاص بك.
يمكنك أيضًا تغيير أسلوبك على النحو التالي
<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
<Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>
في هذه الحالة ، لا يزال يتعين عليك تعيين itemContainersTyle على TreeView الخاص بك.
لا تنتمي إلى StackOverflow