2014-05-13 38 views
0

我有一個擁有3列Datagrid的用戶控件。我想在視圖中使用此用戶控件,但我需要向Datagrid添加一列,但在此視圖中只有只有WPF DataGrid用戶控件 - 在視圖中添加新列

這可能嗎?在視圖

// Initialising the Usercontrol on the new view 
xmlns:myuct="clr-namespace:Customer.UserControls"> 
<Grid> 
    <myuct:CustomerSearch x:Name="CS"/> 
</Grid> 

代碼此示出了數據網格和在正確的視圖中的用戶控件的其他物品。

任何幫助將不勝感激。

回答

0

以編程方式添加列:

DataGridTextColumn textColumn = new DataGridTextColumn(); 
textColumn.Header = "First Name"; 
textColumn.Binding = new Binding("FirstName"); 
dataGrid.Columns.Add(textColumn); 
2

我會建議你讓你的用戶控件接受標誌或開關,可以顯示和隱藏附加列。使用DependencyProperties,以便您可以在XAML中設置標誌/開關。

// Initialising the Usercontrol on the new view 
xmlns:myuct="clr-namespace:Customer.UserControls"> 
<Grid> 
    <myuct:CustomerSearch x:Name="CS" ShowAddOnColumn="true"/> 
</Grid> 
+0

我喜歡這種方法,所以基本上讓我明白了,在用戶控件查看名爲「ShowAddOnColumn」,將隱藏/顯示DataGrid列,所以對於澄清起見,我猜測在DataGrid庫具有使用一個DependencyProperty屬性允許隱藏/顯示列? – user3428422

+0

是的,DataGrid列有一個Visibility屬性。您可以使用此屬性顯示和隱藏列。然而,當我提出這個建議時,我正在考慮在usercontrol代碼中以編程方式添加額外的列,這樣您就不會在後臺佔用一些內存,這在視圖中不需要顯示列。無論哪種方式都可以工作,取決於哪種方法最適合您的使用。 – techhero