2011-05-30 83 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