當我的DataGrid在TreeView的SelectedItemChanged事件上填充時,它找到對象並相應地創建行,但行填充不帶文本或只是空白。所以我知道這是找到我的物體,但它沒有正確顯示它們。有沒有人看到我犯了錯誤或提出任何更改或修復?先謝謝你!DataGrid在TreeView的SelectedItemChanged上填充空白行
這裏是設置DataGrid的ItemsSource時的CSHARP代碼(我用的.dbml和LINQ與Lambda表達式):
dgSystemSettings.ItemsSource = (tvSystemConfiguration.SelectedItem as SYSTEM_SETTINGS_GROUP)
.SYSTEM_SETTINGS_NAMEs
.Join(ssdc.SYSTEM_SETTINGS_VALUEs, x => x.SSN_ID,
y => y.SSV_SSN_ID,
(x, y) => new { SYSTEM_SETTINGS_NAME = x,
SYSTEM_SETTINGS_VALUE = y });
這裏是的.xaml:
<DataGrid Name="dgSystemSettings"
AutoGenerateColumns="False"
Height="447" Width="513"
DockPanel.Dock="Right"
ItemsSource="{Binding}"
VerticalAlignment="Top"
Margin="10,10,0,0">
<DataGrid.Columns>
<DataGridTextColumn x:Name="colDisplayName"
Header="Name"
Binding="{Binding SSN_DISPLAY_NAME}"></DataGridTextColumn>
<DataGridTextColumn x:Name="colValue"
Header="Value"
Binding="{Binding SSV_VALUE}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
SSN_DISPLAY_NAME是SYSTEM_SETTINGS_NAMES中的一列 SSV_VALUE是SYSTEM_SETTINGS_VALUES中的一列
我在我的lambda表達式中加入了表我只能在DataGrid中顯示這兩列。
如果您正在進行綁定,則不需要在代碼中設置ItemsSource,並且如果未設置DataContext,則「列上的綁定」將不起作用。你是否爲父控件或視圖設置了DataContext? – Brady 2011-01-11 17:28:28
@Brady,如果您爲DataGrid設置ItemsSource,那麼DataGridTextColumn的綁定工作。設置DataContext代替ItemsSource也可以。但是,這不是他遇到的問題。 – Paxenos 2011-01-11 17:32:33