Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能';t reach将对象绑定到数据网格_C#_Wpftoolkit - Fatal编程技术网

C# 我能';t reach将对象绑定到数据网格

C# 我能';t reach将对象绑定到数据网格,c#,wpftoolkit,C#,Wpftoolkit,我是WPF和c的乞丐 我有一个简单的WPF应用程序,其中有一个datagrid。我想在单击按钮时填充它: private void buttonTest_Click(object sender, RoutedEventArgs e) { File files = new File(this.textBoxScegliSorgente.Text, datePicker.SelectedDate.Value); this.data

我是WPF和c的乞丐

我有一个简单的WPF应用程序,其中有一个datagrid。我想在单击按钮时填充它:

  private void buttonTest_Click(object sender, RoutedEventArgs e)
        {

            File files = new File(this.textBoxScegliSorgente.Text, datePicker.SelectedDate.Value);
            this.dataGridElencoFiles.DataContext = files;
        }
文件类如下所示:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Security.AccessControl;
    using System.Reflection;
    using System.Collections;
    using System.ComponentModel;

    namespace ArchiviazioneVecchiDocumenti
    {
    public class File
    {

        private List<string> percorso = new List<string>();
        public List<string> Percorso
        { get { return percorso; } }
        private List<string> nomeFile = new List<string>();
        public List<string> NomeFile
        { get { return nomeFile; } }
        private List<DateTime> dataUltimaModifica = new List<DateTime>();
        public List<DateTime> DataUltimaModifica
        { get { return dataUltimaModifica; } }
        private List<DateTime> dataUltimoAccesso = new List<DateTime>();
        public List<DateTime> DataUltimoAccesso
        { get { return dataUltimoAccesso; } }
        private List<long> dimensione = new List<long>();
        public List<long> Dimensione
        { get { return dimensione; } }
        private List<string> logErrori = new List<string>();
        public List<string> LogErrori
        { get { return logErrori; } }

        /*  campi recuperati provvisori */
        private DirectoryInfo sorgente;
        private DirectoryInfo destinazione;
        private DateTime data;
        private string radioscelta;
        private bool test;
        private DirectoryInfo[] directories;
        private FileInfo[] filesInDir;
        private WshShellClass WshShell;


        public File(string sorgente, DateTime data)
        {
            this.sorgente = new DirectoryInfo(sorgente);
            this.data = data;
            this.test = true;
            ExploreDirectory(this.sorgente);
        }
        private void ExploreDirectory(DirectoryInfo dir)
        {
            try
            {
                this.filesInDir = dir.GetFiles();

            }
            catch (Exception e)
            {

                this.logErrori.Add(e.Message[0].ToString());

            }
            foreach (FileInfo file in filesInDir)
            {
                if (file.Extension != ".lnk")
                {
                    if (file.LastWriteTime < this.data)
                    {
                        if (this.test == true)
                        {

                            try
                            {
                                List<string> veraPathLunga = new List<string>();
                                veraPathLunga.Add(dir.Name + "\\");

                                DirectoryInfo temp = dir;
                                while (temp.Name != this.sorgente.Name)
                                {
                                    veraPathLunga.Add(temp.Parent.ToString() + "\\");
                                    temp = temp.Parent;
                                }
                                veraPathLunga.Reverse();
                                veraPathLunga[0] = this.sorgente.FullName;
                                string percorsoFileUnito = string.Join("", veraPathLunga.ToArray());
                                this.percorso.Add(percorsoFileUnito);
                                this.nomeFile.Add(file.Name);
                                this.dimensione.Add(file.Length);
                                this.dataUltimaModifica.Add(file.LastWriteTime);
                                this.dataUltimoAccesso.Add(file.LastAccessTime);
                            }
                            catch (Exception e)
                            {

                                this.logErrori.Add(e.Message[0].ToString());
                            }
                        }
                    }
                }
            }


            try
            {
                this.directories = dir.GetDirectories();
            }
            catch (Exception e)
            {
                this.logErrori.Add(dir.Name + "   " + e.Message[0].ToString());
            }

            foreach (DirectoryInfo newDir in this.directories)
            {
                ExploreDirectory(newDir);
            }

        }
    }

}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.IO;
使用System.Security.AccessControl;
运用系统反思;
使用系统集合;
使用系统组件模型;
命名空间ArchiviazioneVecchiDocumenti
{
公共类文件
{
私有列表percorso=新列表();
公开名单Percorso
{get{return percorso;}}
私有列表文件=新列表();
公共列表文件
{get{return nomeFile;}}
私有列表dataUltimaModifica=新列表();
公共列表数据多重修改
{get{return dataUltimaModifica;}}
私有列表dataUltimoAccesso=新列表();
公共列表DataMultimoAccesso
{get{return dataUltimoAccesso;}}
私有列表维度E=新列表();
公共列表维度
{get{返回维度;}}
私有列表logErrori=新列表();
公共列表日志错误
{get{return logErrori;}}
/*普维索里疗养院*/
私人董事信息公司;
私人董事会;
私有日期时间数据;
私有字符串;
私人布尔试验;
私有目录信息[]目录;
私有文件信息[]文件索引;
私有WshShellClass WshShell;
公共文件(字符串,日期时间数据)
{
this.sorgente=新目录信息(sorgente);
这个数据=数据;
this.test=true;
探索目录(this.sorgente);
}
私有void exploreditory(DirectoryInfo dir)
{
尝试
{
this.filesInDir=dir.GetFiles();
}
捕获(例外e)
{
this.logErrori.Add(例如,Message[0].ToString());
}
foreach(fileindir中的FileInfo文件)
{
如果(文件扩展名!=“.lnk”)
{
if(file.LastWriteTime
这是XAML

<Window x:Class="ArchiviazioneVecchiDocumenti.Principale"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" 
        xmlns:app="clr-namespace:ArchiviazioneVecchiDocumenti"
        xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit"

    Title="Principale" Height="600" Width="800" >
    <Window.Resources>
        <!--<ObjectDataProvider x:Key="filesWpf" ObjectType="{x:Type app:File}"/>
        <app:File x:Key="fileBinding"/>-->
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <DockPanel Grid.Row="0">
            <ToolBarTray DockPanel.Dock="Top" Background="LightGray">
                <ToolBar Name="ButtonBar" Band="0" BandIndex="0" >                    
                        <Grid VerticalAlignment="Center">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="auto"/>
                                <RowDefinition Height="auto"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="auto"/>
                                <ColumnDefinition Width="auto"/>
                            </Grid.ColumnDefinitions>
                            <Button Height="23" Name="buttonSceglisorgente"   Click="buttonScegliSorgente_Click" ToolTip="scegli la cartella o il disco locale in cui vuoi cercare i files da archiviare." Grid.Row="0" Grid.Column="0">Scegli cartella Sorgente</Button>
                            <TextBox  Height="23" Name="textBoxScegliSorgente"  Width="334"  Grid.Row="0" Grid.Column="1" ToolTip="scegli la cartella o il disco locale in cui vuoi cercare i files da archiviare." IsEnabled="False"/>
                            <Button Height="23"   Name="buttonScegliCestino"  Click="buttonScegliCestino_Click" ToolTip="Scegli la cartella in cuo vuoi mettere i files obsoleti." Grid.Row="1" Grid.Column="0">Scegli cartella Destinazione</Button>
                            <TextBox  Height="23" Name="textBoxSelectCestino"  Width="334"  Grid.Row="1" Grid.Column="1" ToolTip="Scegli la cartella in cuo vuoi mettere i files obsoleti." IsEnabled="False"/>
                        </Grid>
                </ToolBar>
                <ToolBar Name="kk" Band="0">
                    <Grid VerticalAlignment="Center">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="auto"/>
                            <RowDefinition Height="auto"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="auto"/>
                            <ColumnDefinition Width="auto"/>
                        </Grid.ColumnDefinitions>
                        <my:DatePicker Height="25" HorizontalAlignment="Center"  Name="datePicker"  Width="130" Grid.Row="0" Grid.Column="0"/>
                        <StackPanel Grid.Row="1" Grid.Column="0">
                            <RadioButton IsChecked="True"  Name="radioButtonAccesso" ToolTip="Archiviazione in base alla data dell'ultimo accesso al file." >Data Ultimo Accesso</RadioButton>
                            <RadioButton   Name="radioButtonModifica" ToolTip="Archiviazione in base alla data dell'ultima modifica." >Data Ultima Modifica</RadioButton>
                        </StackPanel>                        
                        <Button Height="30" Width="60"  Name="buttonTest" ToolTip="Esegui un test per vedere quanti files puoi archiviare" Grid.Row="0" Grid.Column="1" Click="buttonTest_Click">Test</Button>
                        <Button  Height="30" Width="60" ToolTip="Procedi all'archiviazione dei vecchi documenti." Grid.Row="1" Grid.Column="1" Click="buttonProcedi_Click">Procedi</Button>
                    </Grid>
                </ToolBar>
            </ToolBarTray>
        </DockPanel>        
        <TabControl Name="tabControl1" Grid.Row="1" Margin="0,10,0,0">
            <TabItem Header="Elenco Files" Name="tabelencoFile">
                <Grid>
                    <!--<my:DataGrid  ItemsSource="{Binding Source={StaticResource fileBinding}}" HorizontalAlignment="Stretch" Margin="5" Name="dataGridElencoFiles"    >-->
                    <my:DataGrid  ItemsSource="{Binding}" AutoGenerateColumns="True" HorizontalAlignment="Stretch" Margin="5" Name="dataGridElencoFiles"    >    
                    <!--<my:DataGrid.Columns>
                            <my:DataGridTextColumn Header="Percorso"  Width="SizeToCells" Binding="{Binding Percorso}" IsReadOnly="True"/>
                            <my:DataGridTextColumn Header="Nome File" Width="SizeToCells" Binding="{Binding NomeFile}" IsReadOnly="True"/>

                        </my:DataGrid.Columns>-->
                    </my:DataGrid>
                </Grid>
            </TabItem>
            <TabItem Header="Elenco Errori" Name="tabElencoErrori">
                <Grid>
                    <my:DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="5" Name="dataGridElencoErrori"  />
                </Grid>
            </TabItem>
            <TabItem Header="Log" Name="tabLog">
                <Grid>
                    <my:DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" Margin="5" Name="dataGridLog"  />
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</Window>

塞格利·卡特拉·索伦特酒店
斯凯利·卡特拉脱硝脲
数据存取器
数据最终修改
试验
普罗塞迪
谁能帮我一把吗


谢谢

旁注:如果您只发布与您的问题相关的代码,那就太好了。(代码太多总比代码太少好。)<
this.dataGridElencoFiles.DataContext = new File[] { files };