DataGridがTreeViewのSelectedItemChangedイベントに値を設定すると、オブジェクトが見つかってそれに応じて行が作成されますが、行はテキストなしで入力されるか空白になります。だから私はそれが私のオブジェクトを見つけることを知っているが、それは適切に表示されていません。誰かが私がエラーを起こした場所を見たり、変更や修正を提案したりしますか?前もって感謝します!ここで DataGridでTreeViewのSelectedItemChangedに空白行が設定される
は、CSHARPのDataGridののItemsSourceを設定されているコード(私はラムダ式と.dbmlとLINQを使用しています)です: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の列です
私のラムダ式でテーブルに参加しました。私はDataGridにこれらの2つの列だけを表示することができます。私はあなたが以下にDataGridTextColumnのテキストを変更する可能性があると考えている
バインディングを実行している場合にItemsSourceを設定する必要はありません。また、DataContextを設定しなかった場合は、列のBindingが機能しません。親コントロールまたはビューのDataContextを設定しましたか? – Brady
@Brady、DataGridのItemsSourceを設定すると、DataGridTextColumnのバインディングが機能します。 ItemsSourceの代わりにDataContextを設定すると同様に動作します。しかし、それは彼が持っている問題ではありません。 – Paxenos