1
我目前的任務是爲WPF應用程序構建一個類似電子表格的GUI,我遇到了一些問題。實質上,我想在列的基礎上綁定到數據網格,以便一列包含某年的數據。因此,鑑於2006年是開始年和2009年結束年,我希望每列有4列顯示特定年份的值。綁定到WPF DataGrid - 每列一個實體
這是我在後臺代碼現在:
private Years m_YearsList;
public Years YearsList
{
get { return m_YearsList; }
set { m_YearsList = value; }
}
public MainWindow()
{
InitializeComponent();
YearsList = LoadData();
TestGrid.DataContext = YearsList;
}
public Years LoadData()
{
var personer = new Years{
new Year
{
Taxed = new Taxed {TaxedField = 10},
NumBuildings = new BuildingsCollection {NumBuildings = 25},
Area = new Area{AreaField = "NoWhere"},
DisplayName = "Person1"
},
new Year
{
Taxed = new Taxed{TaxedField = 2},
NumBuildings = new BuildingsCollection{NumBuildings = 8},
Area = new Area{AreaField = "SomeWhere"},
DisplayName = "Person2"
},
new Year
{
Taxed = new Taxed{TaxedField = 18},
NumBuildings = new BuildingsCollection{NumBuildings = 20},
Area = new Area{AreaField = "UpThere"},
DisplayName = "Person3"
}
};
return personer;
}
}
年度的對象只是封裝兩個int的和一個字符串。歲月的對象是我打出了絕望看起來像這樣:
public class Years : List<Year>{}
我的XAML:
<DataGrid x:Name="TestGrid" ItemsSource="{Binding}" CanUserAddRows="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=NumBuildings}" />
<DataGridTextColumn Binding="{Binding Path=Taxed}" />
<DataGridTextColumn Binding="{Binding Path=Area}" />
</DataGrid.Columns>
</DataGrid>
此代碼生成此:
正如你所看到的, Year對象綁定到每個列的一個屬性,而我基本上希望將它們綁定到一個對象,並且所有屬性都放在一個列中。不幸的是我的WPF技能缺乏。 :(
謝謝!將檢查文章,看看我是否得到任何地方。如果是,我會更新。 – Henric