2013-02-13 1 views
0

enter image description here 우리는 한 가지 형태로 DataGrid를 사용하는 WPF 애플리케이션을 보유하고 있습니다. 우리는 해당 DATAGRID에 여러 DataTemplateColumn을 사용했습니다. 'BROWSE'버튼을 누르면 하나의 열에 하나의 버튼을 사용해야합니다. 편집 모드에서 파일을 클릭하면 파일 대화 상자가 열리고 파일을 선택하면 해당 파일의 경로가 해당 DATAGRID 열에 저장됩니다. 이렇게하려면 EDIT 모드에서 일반 버튼 경로 &을 클릭하십시오. 해당 파일의 경로.WPG에서 Datagrid의 DataGridTemplateColumn에서 찾아보기 버튼

<toolkit:DataGridTemplateColumn Header="Attachment Copy Of Invoice" Width="180" > 
       <toolkit:DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 

         <TextBlock x:Name="Attach" Text="{Binding Path=Attachment,UpdateSourceTrigger=PropertyChanged}" /> 

        </DataTemplate> 
       </toolkit:DataGridTemplateColumn.CellTemplate> 
       <toolkit:DataGridTemplateColumn.CellEditingTemplate> 
        <DataTemplate> 

         <Button Name="Click" Click="Click_Click" ></Button> 
        </DataTemplate> 
       </toolkit:DataGridTemplateColumn.CellEditingTemplate> 
      </toolkit:DataGridTemplateColumn> 

CODE : I 동일 TextBlock의 파일명을, 즉 경로를 저장할 필요

private void Click_Click(object sender, RoutedEventArgs e) 
    { 
     Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 

     // Set filter for file extension and default file extension 

     dlg.DefaultExt = ".txt"; 
     dlg.Filter = "Text documents (.txt)|*.txt"; 

     // Display OpenFileDialog by calling ShowDialog method 
     Nullable<bool> result = dlg.ShowDialog(); 

     // Get the selected file name and display in a TextBox 
     if (result == true) 
     { 

      // Open document 

      string filename = dlg.FileName; 


     } 


    } 

.

+0

코드 숨김 표시. "해당 파일의 경로가 해당 DATAGRID 열에 저장되어야합니다"- 어떤 열? –

+0

@ Andrey Gordeev : 코드 pls를 추가했습니다. 확인하십시오. –

+0

파일 경로를 바인딩 할 열은 무엇입니까? –

답변

0
private void Click_Click(object sender, RoutedEventArgs e) { 
    var dlg = new Microsoft.Win32.OpenFileDialog(); 

    // Set filter for file extension and default file extension 

    dlg.DefaultExt = ".txt"; 
    dlg.Filter = "Text documents (.txt)|*.txt"; 

    // Display OpenFileDialog by calling ShowDialog method 
    Nullable<bool> result = dlg.ShowDialog(); 

    // Get the selected file name and display in a TextBox 
    if (result == true) { 
     // Open document 
     string filename = dlg.FileName; 
     var yourType = ((FrameworkElement)sender).DataContext as YourType; 
     yourType .Attachment= filename; 
    } 
} 
관련 문제