WPF数据网格浏览按钮问题
我们有WPF应用程序,其中我们在一个表单上使用DataGrid。 我们的要求是,在该数据网格的一列中,将有onr按钮,单击该按钮后将请求浏览文件,它将获取该文件的路径。 之后,该路径将设置为textBlock,它将替换相同的按钮。 那么需要做什么呢? 目前我们可以获取路径,但如何在从浏览中选择路径后显示TextBlockWPF数据网格浏览按钮问题,wpf,wpf-controls,wpfdatagrid,wpftoolkit,Wpf,Wpf Controls,Wpfdatagrid,Wpftoolkit,我们有WPF应用程序,其中我们在一个表单上使用DataGrid。 我们的要求是,在该数据网格的一列中,将有onr按钮,单击该按钮后将请求浏览文件,它将获取该文件的路径。 之后,该路径将设置为textBlock,它将替换相同的按钮。 那么需要做什么呢? 目前我们可以获取路径,但如何在从浏览中选择路径后显示TextBlock <toolkit:DataGridTemplateColumn Header="Attachment Copy Of Invoice" Width="180" &
<toolkit:DataGridTemplateColumn Header="Attachment Copy Of Invoice" Width="180" >
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock x:Name="Attach" Uid="Ata" 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>
首先,你不应该用那种方式操作按钮。您应该在ViewModel中的某个位置放置一个
ICommand
,并将该按钮绑定到该命令
其次,要在textblock中显示新文本,只需更新要将其绑定到的附件
属性:
<toolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button Command="{Binding MyCommand}"/>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellEditingTemplate>
请告诉我,在这种情况下,ViewModel是什么?它将如何工作?我是WPF的新手。谢谢可能对你有帮助我没有使用MVVM,所以请你告诉我在这方面有什么选择。没有选择。在WPF中基本上有两种方法。一个是MVVM的简单和美观,另一个是一堆可怕的黑客和大量不必要的代码。这是你的选择。
public class MyViewModel
{
public DelegateCommand MyCommand {get;set;}
public MyViewModel()
{
MyCommand = new DelegateCommand(ExecuteMyCommand);
}
private void ExecuteMyCommand(object parameter)
{
Attachment = WhateverYouWantToPlacethere;
}
}