2011-05-30 35 views
0

获取的DataContext我有一个用户控件,其DataContext设置有这样的:我想加载一个网格视图与物体在5列几个值的列表(日期从用户控件

<UserControl.Resources> 
    <data:ArchivosViewModel x:Key="Data" /> 
</UserControl.Resources> 

在本用户控制,url,name ...和一个按钮来删除每一行)。

要添加此按钮我想使用我的UserControl ViewModel和CommandParameter命令,我将在我的DataGrid源数据上下文中。

我认为做到这一点的最佳方法是将该按钮中的datacontext设置为staticresource,但它不工作...任何想法如何做到这一点?

<sdk:DataGrid AutoGenerateColumns="False" Margin="5" ItemsSource="{Binding Ficheros, Mode=TwoWay, ValidatesOnDataErrors=True}" SelectionMode="Single" Grid.Row="2" Height="Auto" HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch" MinHeight="0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" > 
    <sdk:DataGrid.Columns> 
     <sdk:DataGridTemplateColumn Header="Fecha"> 
      <sdk:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <sdk:DatePicker SelectedDate="{Binding fecha_fichero, Mode=TwoWay}" Margin="5,0" Width="Auto"></sdk:DatePicker> 
       </DataTemplate> 
      </sdk:DataGridTemplateColumn.CellTemplate> 
     </sdk:DataGridTemplateColumn> 
     <sdk:DataGridTextColumn Binding="{Binding nombre_fichero, Mode=TwoWay}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Nombre" Width="Auto" /> 
     <sdk:DataGridTextColumn Binding="{Binding descripcion_fichero, Mode=TwoWay}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Descripción" Width="Auto" /> 
     <sdk:DataGridTemplateColumn Header="Enlace"> 
      <sdk:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <HyperlinkButton Margin="5,0" Width="Auto" NavigateUri="{Binding ruta_fichero, Mode=OneWay}" TargetName="_blank" Content="Abrir Fichero"></HyperlinkButton> 
       </DataTemplate> 
      </sdk:DataGridTemplateColumn.CellTemplate> 
     </sdk:DataGridTemplateColumn> 
     <sdk:DataGridTemplateColumn Header="Eliminar"> 
      <sdk:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Width="Auto" Margin="5,0" Content="Eliminar Fichero" Command="{Binding EliminarArchivoCommand}" ></Button> 
       </DataTemplate> 
      </sdk:DataGridTemplateColumn.CellTemplate> 
     </sdk:DataGridTemplateColumn> 
    </sdk:DataGrid.Columns> 
</sdk:DataGrid> 

在此先感谢。

回答

1

尝试:

Command="{Binding EliminarArchivoCommand,Source={StaticResource Data}}" 

和:

CommandArgument="{Binding}" 
+0

感谢您的答复! 这不是问题,它对一切都有效,除了最后一列,我希望绑定到项目datacontext(用于命令参数),另一列用于Data datacontext(用于命令)。 – zapico 2011-05-30 14:48:47

+0

对不起,误解了这个问题。在我的编辑采取铝ook ...我认为这应该工作 – 2011-05-30 14:51:12

+0

完美!非常感谢:-D – zapico 2011-05-30 15:20:12