我们有WPF应用程序,我们在一个表单上使用DataGrid。 我们的要求是在DataGrid的One One列中会有onr Button,点击后会询问浏览文件,&它将采取该文件的路径。 之后该路径将设置为textBlock,后者替换了相同的按钮。 那么需要做什么? 目前我们可以获取路径,但是如何在从浏览中选择路径后显示TextBlock。
<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>
答案 0 :(得分:0)
首先,你不应该以这种方式处理Button_Click。您应该在ViewModel中的某处放置ICommand
并将Button绑定到该命令。
其次,在文本块中显示新文本所需要做的就是更新您绑定到它的Attachment
属性:
<toolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Button Command="{Binding MyCommand}"/>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellEditingTemplate>
视图模型:
public class MyViewModel
{
public DelegateCommand MyCommand {get;set;}
public MyViewModel()
{
MyCommand = new DelegateCommand(ExecuteMyCommand);
}
private void ExecuteMyCommand(object parameter)
{
Attachment = WhateverYouWantToPlacethere;
}
}