今天在MSDN論壇回答問題的時候,看到有人在問說要怎麼在執行時期動態的顯示或是隱藏欄位,雖然我不清楚他確切的需求,不過基於好奇心和好勝心作怪,我還是寫出了下面這個範例~
有興趣的朋友可以參考看看,如果有想到什麼情境下或是這樣的功能很適合用在什麼地方的話,也歡迎留個言交流一下喔!!
今天在MSDN論壇回答問題的時候,看到有人在問說要怎麼在執行時期動態的顯示或是隱藏欄位,雖然我不清楚他確切的需求,不過基於好奇心和好勝心作怪,我還是寫出了下面這個範例~
有興趣的朋友可以參考看看,如果有想到什麼情境下或是這樣的功能很適合用在什麼地方的話,也歡迎留個言交流一下喔!!
先來看看Xaml原始碼:
Xaml的部份其實沒什麼特別的地方,除了我在DataGrid上加了一個AutoGeneratingColumn的EventHandler,用來在自動產生欄位的時候,將用來做DataBinding的PropertyName記錄下來。另外,SampleData的部份是透過Expression Blend自動產生的。
再來看看Code-Behind的部份:
其實Code-Behind的部份,要完成這樣的功能的方式就有兩種可以選了,得視DataGrid的欄位是否為自動產生的來決定。範例中使用的DataGrid欄位為自動產生,沒辦法在MainWindow的Loaded事件中取得,所以得透過DataGrid的AutoGeneratingColumn事件來幫忙完成取得欄位的動作。
其他的部份就真的都很簡單啦,只要操作DataGridColumn的Visibility屬性,就可以做到顯示/隱藏的切換啦!!
以上~
最後附上專案原始碼,歡迎自行取用: