2011-01-10 28 views
0

我在創建帶有標題標籤和文本框的DataGrid時遇到了一些問題(此時我甚至不完全確定這是可能的)。帶有用於過濾的文本框的DataGrid列標題

這就是我想做的事:
我需要動態創建一個表(列數能夠而且將會改變,所以電網需要動態創建,無法使用在XAML代碼或類似的指定綁定) 。但是,所有列都將是文本列。

由於這些將是文本列,我想在文本框添加到每個報頭,以便能夠在DataGrid的數據的簡單濾波。我不想將額外的文本字段添加到Silverlight頁面的其他部分,因爲我想盡可能保持緊湊。另外,由於列數是動態的,因此在DataGrid之上添加大量文本框也不會太好。 ;)

此外,如果可能的話,我想在每個標題中保留一個標籤以顯示列的名稱。

到目前爲止,我已經嘗試添加一個TextBoxDataGridTextBoxColumnHeader但是當我這樣做,在一個非常簡單的Silverlight項目,整個DataGrid不會出現。

請幫忙。

編輯: 我看到了這個問題的答案:placing a text box inside the silverlight data grid column header

然而,答案本身並沒有給我太多去(的例子是太短了,我不是XAML太好還有),CodePlex上的代碼只是爲Silverlight頁面添加了額外的字段。它沒有解決動態創建DataGrid的問題。

回答

1

確定,這裏就是我這樣做,解決了我的問題......我 不得不用Style以實現具有每個列標題中額外的文本框,並填寫每個由此產生TextBoxTag屬性的功能稍後找出哪一列已被更改。

+0

我有你的問題,我不知道如何找出哪些列已經被改變了嗎?你怎麼填滿你的文本框的標籤用? –

+0

由於您使用的是「樣式」,因此您無法輸入固定的「標籤」。這是毫無意義的。我使用了'Tag =「{Binding}」',因此您應該獲得對列標題內容的引用。 – Shaamaan

+0

Shaamaan:謝謝,但我希望我能得到refrence到coulmn名稱,因爲列標題波斯和我需要的英文名稱,有沒有什麼辦法綁定列名稱標記? –