سؤال

مرحبًا ، المشكلة التي أواجهها هي أن لديّ تحكم متعددة في 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 الخاص بك.

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