2010-09-07 57 views

回答

5

這取決於你的意思,直接綁定到CodeBehind中的列表。

可以聲明與列...

<DataGridComboBoxColumn x:Name="m_column" ../> 

,然後在代碼隱藏設置的ItemsSource ...

m_column.ItemsSource=yourItemsSource 

但是你不能直接使用XAML綁定,類似於:

<DataGridComboBoxColumn ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=YourElement}}"/> 

因爲DataGridComboBoxColumn不是視覺樹的一部分。

有這方面的解決方法。最簡單的方法是使用DataGridTemplateColumn並將ComboBox直接放置在edit-DataTemplate中。如果您使用ViewModel,則可以通過它提供數據。否則請查看herehere以瞭解變通方法。

+0

謝謝,我會很高興 – Erez 2010-09-07 15:47:46

+0

我發現在喬莫里森的博客(上面的鏈接)中擴展DataGridComboBoxColumn方法對綁定視圖模型特別有用。 – 2011-07-14 18:26:11