سؤال

كيف تحصل على مستوى treeViewItem في WPF C#؟ في نماذج Windows ، يوجد عضو في فئة TreeView ولكن لا يبدو أن هناك واحدة لـ WPF C#.

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

المحلول

بناء نموذج عرض.

طريقة عرض GVES يمكنك مرونة أكبر مع TreeView مما يمكنك تحقيقه بدونها. تفضل لنفسك ، لا تمشي على الشجرة المرئية ، إذا كانت العقدة الوالدية غير مرئية ، فقد يتم عرضها بعيدًا وسيكون رقم مستواك (أو العمق) خاطئًا. قم بإنشاء نموذج عرض يلف بياناتك ويعرف على المستوى الذي يوجد فيه.

تحقق من الإجابات المنشورة هنا.

الإجابة الرابط واحد (يمكنك إضافة خاصية أخرى إلى نموذج العرض الخاص بك - المستوى)

عرض Treeview عرض نموذج

نصائح أخرى

لقد فعلت ذلك مع محول لأنني أردت أن أفعل ذلك <style>

<DataTrigger Binding="{Binding Parent, RelativeSource={RelativeSource Self}, Converter={StaticResource TreeViewItemConverter}}" Value="1">
         <Setter TargetName="Bd" Property="Background"  Value="Yellow"/>
</DataTrigger>

والمحول

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if ((value as TreeView) != null)//level 1
            return 0;

        var item = (value as TreeViewItem);
        if (item != null) // level 2 and 3
            return (item.Parent as TreeViewItem)!=null ? 2 : 1;
        return 0;
    }

هذا مفيد بشكل خاص للتصميم متعدد المستويات في TreeView

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