GridView 의 아이템이 선택되도록 하고싶습니다. GridView를 이용하여 list 데이터를 보여주고 있습니다. 그리고 특정 셀에 대해서는 내용을 변경하여 db 에 저장하려고 합니다. GridView 에 TextBox를 올려서 보여주는것 까지는 되었는데 문제가 있어서 이렇게 글을 남깁니다.
item을 선택하면 focus가 잡힙니다. 그런데 item 을 선택하지 않고 textbox만 선택하면 item 선택이 되지 않습니다. textbox를 선택하면 해당 item 이 선택되도록 하고 싶습니다. 어떻게 해야 되면 좋을지 조언 부탁드리겠습니다.
private void LstView_textOut(object sender, RoutedEventArgs e) { TextBox aa = (TextBox)sender; string txt = aa.Text(); // 텍스트는 가져옴. ttData td = (ttData)lst.SelectedItem; // item 선택이 안된 상태라 td 값이 null 임. // textbox가 아닌 item을 선택한 후 이 함수 실행하면 td값이 정상적으로 나옴. }
private void LstView_textIn(object sender, RoutedEventArgs e) { // 여기서 선택한 text box 의 아이템을 선택한것처럼 하고 싶습니다. }
<Grid> <ListView Name="lst" IsSynchronizedWithCurrentItem="True"> <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding Path=cat_id}" Header="Idx" Width="80"></GridViewColumn> <GridViewColumn DisplayMemberBinding="{Binding Path=tt_id}" Header="tt" Width="200"></GridViewColumn> <GridViewColumn Header="eng" Width="200"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBox Text="{Binding Path=tt_data}" Width="150" LostFocus="LstView_textOut" GotFocus="LstView_textIn" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView> </Grid>
|