我構建數據網格在我的WPF應用程序。 Datagrid的ItemSource
綁定到IEnumerable
集合。我不知道我的項目的ViewModel。當我將datagrid項目源綁定到datagrid時,我可以即時獲得列標題和Row值。動態列標題和標題數量DataGrid中的WPF
我唐諾頭。它可能是任何東西。我需要在網格中的數據網格中顯示選定行的詳細信息。
要做到這一點,我需要到Bing SelectedItem.HeaderName到網格的文本塊。 但是,這裏的問題是我不知道標題的名稱。所以我不能簡單地硬編碼SelectedItem.Headername
。
和列數可以分別不同。所以我的詳細視圖也應該動態數字標題名稱與其相應的值時,我的數據網格行被選中。
截至目前我已經harcoded和看到的結果在我的XAML像下面。因爲對於一個特定的文件,我知道他們各自的列標題,
<Label HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Grid.Row="0"
Grid.Column="0">Header2:
</Label>
<TextBlock Grid.Row="0"
Grid.Column="1"
Name="Header2"
Text="{Binding SelectedItem.date, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="0"
Grid.Column="2"
VerticalAlignment="Center">Header3:</Label>
<TextBlock Grid.Row="0"
Grid.Column="3"
Name="username"
Text="{Binding SelectedItem.Header3, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="0"
Grid.Column="4"
VerticalAlignment="Center">Header4:</Label>
<TextBlock Grid.Row="0"
Grid.Column="5"
Name="level"
Text="{Binding SelectedItem.header4, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="1"
Grid.Column="0"
VerticalAlignment="Center">Header5:</Label>
<TextBlock Grid.Row="1"
Grid.Column="1"
Name="logger"
Text="{Binding SelectedItem.header5, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Label Grid.Row="1"
Grid.Column="2"
VerticalAlignment="Center">Headr6:</Label>
<TextBlock Grid.Row="1"
Grid.Column="3"
Name="thread"
Text="{Binding SelectedItem.header6, ElementName=dataGrid1}"
Width="auto"
Height="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
因爲我是一個begginer我無法弄清楚如何做到這一點。如果你想幫助我,我會很高興。並建議我需要閱讀的一些概念與這個動態列的生成相關,Count,將動態列標題分配給UI中的其他控件。 在此先感謝!
如果我明白你的好,即使是顯示DataGrid信息的網格內容也應該是動態的,對嗎?在這種情況下,更好的方法是通過代碼隱藏。 – HichemSeeSharp
@HichemC:是正確的.. :) – BinaryMee