كيف تحصل على مستوى treeViewItem في WPF C#؟
-
02-10-2019 - |
سؤال
كيف تحصل على مستوى treeViewItem في WPF C#؟ في نماذج Windows ، يوجد عضو في فئة TreeView ولكن لا يبدو أن هناك واحدة لـ WPF C#.
المحلول
بناء نموذج عرض.
طريقة عرض GVES يمكنك مرونة أكبر مع 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
لا تنتمي إلى StackOverflow