0
Windows 탐색기를 만들려고합니다. treeView 및 listView를 Windows 탐색기처럼 채우는 데 성공했지만 listView에서 두 번 클릭하여 파일을 여는 데 문제가 있습니다.ListView에서 MouseDoubleClick 이벤트로 파일 열기
이 내가 지금까지 무엇을 가지고 :
try
{
//clears the collection so the listview has only the files of the folder thats clicked on
_fileDetails.Clear();
DirectoryInfo dirInfo = new DirectoryInfo(SelectedImagePath);
FileInfo[] info = dirInfo.GetFiles();
foreach (FileInfo fileInfo in info)
{
//adds files to the collection with its properties
_fileDetails.Add(new Details
{
FileName = fileInfo.Name,
Size = fileInfo.Length.ToString(),
DateCreated = fileInfo.CreationTime.ToString(),
DateModified = fileInfo.LastWriteTime.ToString(),
RevNumber = "?",
User = "?"
});
}
}
fileDetails 내 ObservableCollection에 있습니다.
마우스 이벤트 :
protected void HandleDoubleClick(object sender, MouseButtonEventArgs e)
{
DependencyObject src = (DependencyObject)(e.OriginalSource);
while (!(src is Control))
src = VisualTreeHelper.GetParent(src);
MessageBox.Show("*** Double clicked on a " + src.GetType().FullName +"********************" + sender.ToString());
}
바인딩 대신 마우스 이벤트에 메시지 박스의
<ListView Height="335" HorizontalAlignment="Right" Margin="0,12,12,0" Name="fileExplorerView" VerticalAlignment="Top" Width="509" Grid.Column="1" ItemsSource="{Binding ElementName=This, Path=fileDetails}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="100" DisplayMemberBinding="{Binding FileName}"/>
<GridViewColumn Header="Size" Width="100" DisplayMemberBinding="{Binding Size}"/>
<GridViewColumn Header="Date Created" Width="100" DisplayMemberBinding="{Binding DateCreated}"/>
<GridViewColumn Header="Time Created" Width="100" DisplayMemberBinding="{Binding DateModified}"/>
<GridViewColumn Header="Revision Number" Width="100" DisplayMemberBinding="{Binding RevNumber}"/>
<GridViewColumn Header="Modified By" Width="100" DisplayMemberBinding="{Binding User}"/>
</GridView>
</ListView.View>
</ListView>
, 난 내가 캔트의 files.The의 문제가 열 프로세스를 사용합니다 선택한 파일의 경로를 가져 오는 방법을 알아내는 것 같습니다.
감사
모든 도움을 이해할 수있을 것이다.
감사 H.B, 당신은 천재! –