2016-02-21 51 views
1

我有一個DataSource ItemsSource是List<string>。 第二列是ComboBox,它也綁定到一個List<string>,但另一個。如何在wpf中傳遞dataGrid的列作爲參數?

當用戶點擊單擊按鈕時,我想在我的命令函數中看到兩個要傳遞的參數:綠色和紅色。那麼,該怎麼做?

enter image description here

所以在我的按鈕欄我希望看到水木清華這樣的:

<DataGridTemplateColumn> 
    <DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <Button Content="click" 
     Command="{Binding DataContext.ListenCmd, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" 
     Margin="5,5"> 
     <Button.CommandParameter> 
      <MultiBinding Converter="{StaticResource MultiConverter}"> 
       <Binding Path="--First Column Value--"/> 
       <Binding Path="--Second Column Value--"/> 
      </MultiBinding> 
     </Button.CommandParameter> 
     </Button> 
    </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

回答

0

使用Multibining爲:

<MultiBinding Converter="{StaticResource MultiConverter}"> 
    <Binding RelativeSource="{RelativeSource AncestorType={x:Type DataGridCellsPanel}}" Path="Children[0].Content.Text"/> 
    <Binding RelativeSource="{RelativeSource AncestorType={x:Type DataGridCellsPanel}}" Path="Children[1].Content.Text"/> 
</MultiBinding> 

我希望你有MultiConverter邏輯封裝都值轉換爲一個object

上面綁定,如果您使用任何複雜的DataGridCellTemplate可能會導致問題。