WPF Datagrid浏览按钮问题

时间:2013-02-11 14:42:52

标签: wpf wpf-controls wpfdatagrid wpftoolkit

我们有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>

1 个答案:

答案 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;
    }
}