2014-02-07 87 views
2

我有一個應用程序使用DataGrid控件其中有DataGridComboBoxColumn在XAML中定義。現在我有一個要求,我要創建DataGridComboBoxColumn及其代碼背後的綁定。DataGridComboBox列和綁定代碼

我的XAML是:

<my:DataGrid.Columns> 
    <my:DataGridComboBoxColumn 
     Width="100" 
     Header="Product Code" 
     SelectedValueBinding="{Binding Path=Product_Id,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" 
     SelectedValuePath="Product_Id" 
     DisplayMemberPath="Product_Code"> 
     <my:DataGridComboBoxColumn.ElementStyle> 
     <Style TargetType="ComboBox"> 
      <Setter Property="ItemsSource" Value="{Binding Path=ProductList}"/> 
     </Style> 
     </my:DataGridComboBoxColumn.ElementStyle> 
     <my:DataGridComboBoxColumn.EditingElementStyle> 
     <Style TargetType="ComboBox"> 
      <Setter Property="IsEditable" Value="True" /> 
      <Setter Property="ItemsSource" Value="{Binding Path=ProductList}"/> 
      <Style.Triggers> 
       <Trigger Property="Validation.HasError" Value="true"> 
        <Setter Property="Background" Value="Pink"/> 
        <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
     </my:DataGridComboBoxColumn.EditingElementStyle> 
    </my:DataGridComboBoxColumn> 
</my:DataGrid.Columns> 

現在我想做的事情上面及其代碼結合如何做到這一點的DataGridComboBox列?

+1

這是*不*您可以使用一個網站,讓你的代碼爲你寫的......請出示你已經嘗試了什麼。否則,請在MSDN上查找您的答案。 – Sheridan

回答

0

其中datagrid是您的DataGrid的實例。

 datagrid.Columns.Add(new DataGridComboBoxColumn() 
     { 
      Width = 100, 
      Header = "Product Code", 
      SelectedValuePath="Product_Id", 
      DisplayMemberPath="Product_Code", 
      SelectedValueBinding = new System.Windows.Data.Binding() 
      { 
       Path = new PropertyPath("Product_Id"), 
       UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, 
       ValidatesOnDataErrors = true 
      } 
     }); 

遵循這些東西對於剩下的事情...

+0

但我與combobox itemsSource綁定的主要問題我如何將它綁定到我viewModel的屬性 – Mussammil