0
我使用GridView和ListView控件來顯示一些目錄內容。我使用後面的代碼動態加載ListView內容,創建GridViewColumns並將它們綁定到我自定義的catListItem類中的屬性。動態綁定GridView CellTemplate內容
var view = new GridView();
var binding = new Binding("Name");
var resElement = _mResourceManager.GetElementByMdlID("vlu_usw_name_of");
view.Columns.Add(new GridViewColumn { Header = resElement.Name, DisplayMemberBinding = binding });
binding = new Binding("Number");
resElement = _mResourceManager.GetElementByMdlID("vlu_usw_arc_logical_nmbr");
view.Columns.Add(new GridViewColumn { Header = resElement.Name, DisplayMemberBinding = binding });
一切都很好,但現在我想用一些圖標添加列,使用GridViewColumn的CellTemplate財產。事情是這樣的:
var view = new GridView();
var col = new GridViewColumn { Header = "" };
var template = new System.Windows.DataTemplate(typeof(Image));
col.CellTemplate = template;
view.Columns.Add(col);
var binding = new Binding("Name");
var resElement = _mResourceManager.GetElementByMdlID("vlu_usw_name_of");
view.Columns.Add(new GridViewColumn { Header = resElement.Name, DisplayMemberBinding = binding });
binding = new Binding("Number");
resElement = _mResourceManager.GetElementByMdlID("vlu_usw_arc_logical_nmbr");
view.Columns.Add(new GridViewColumn { Header = resElement.Name, DisplayMemberBinding = binding });
我知道有使用DisplayMemberBinding,CellTemplate和CellTemplateSelector時優先。 所以我的問題是: 如何創建(設置,...)CellTemplate的內容,並可能將其綁定到我的自定義類的屬性動態?我不知道我錯過了什麼!我已經搜索過這個問題,但是我發現的一切都是使用DataTemplate的XAML解決方案。 使用代碼隱藏它很重要。 在此先感謝!
爲什麼要使用圖片的DataTemplate中,它將返回默認模板圖像,必須具有名稱自定義的DataTemplate,用它來代替typeof運算(圖) –
@ MitanShan謝謝你的回答,但我不確定我是否理解你的觀點。是否強制創建自定義DataTemplate?我無法找到一種方法來處理代碼。是不是可以將默認的圖像模板綁定到我的自定義屬性? –
它不會幫助,因爲圖像模板將需要與圖像控制相關的屬性,如果需要,您必須在代碼中定義DataTemplate。 –