C# 我能';t reach将对象绑定到数据网格
我是WPF和c的乞丐 我有一个简单的WPF应用程序,其中有一个datagrid。我想在单击按钮时填充它: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
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 };