c# - ملء treeview من قائمة مسارات الملفات في wpf



1 Answers

ملحق صغير للحل السابق: أضفت كود xaml لدعم الرموز ، ودعم التبديل بين الرموز للمجلد المفتوح والمغلق:

 <HierarchicalDataTemplate DataType="{x:Type viewModels:SourceControlDirecoryViewModel}"
                                  ItemsSource="{Binding Items}">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="5" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Image Width="16"
                       Height="16"
                       Source="{StaticResource ImageSourceFolderClosed16x16}"
                       x:Name="img" />
                <TextBlock Text="{Binding Path=Name}"
                           ToolTip="{Binding Path=Path}"
                           Grid.Column="2" />
            </Grid>
            <DataTemplate.Triggers>
                <DataTrigger Binding="{Binding IsExpanded, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type TreeViewItem}}}"
                             Value="True">
                    <Setter Property="Source"
                            TargetName="img"
                            Value="{StaticResource ImageSourceFolderOpened16x16}" />
                </DataTrigger>
            </DataTemplate.Triggers>
        </HierarchicalDataTemplate>
Question

هناك العديد من الأمثلة حول كيفية نشر طريقة عرض الشجرة من مجموعة من مسارات الملفات مثل this أو هذا المثال الآخر . لا يبدو لي أن أجد مثل هذا المثال ل WPF. وأنا أعلم أنني يمكن دمج نماذج ويندوز واستخدام عنصر تحكم مختلف من أجل جعلها تعمل ولكن سيكون من الجيد إذا كنت يمكن أن تفعل الشيء نفسه مع التحكم تريفيو wpf. يتكون عرض الشجرة الذي أرغب في بنائه من حوالي 50000 ملف لذلك أعتقد أنه سيكون من الأفضل إذا كان ربطه بشيء ما. ولكن أولاً قبل ربطها ، أعتقد أنه سيكون من المفيد إنشاء واحدة استنادًا إلى قائمة سلاسل (تحتوي السلاسل على مسارات الملفات).




Related