SIZ,앤디와 Bodeaker은 절대적으로 옳다.
다음은 핸들을 사용하여 목록 상자의 선택한 항목의 텍스트 상자를 검색 한 방법입니다.
var container = listboxSaveList.ItemContainerGenerator.ContainerFromItem(listboxSaveList.SelectedItem) as FrameworkElement;
if (container != null)
{
ContentPresenter queueListBoxItemCP = VisualTreeWalker.FindVisualChild<ContentPresenter>(container);
if (queueListBoxItemCP == null)
return;
DataTemplate dataTemplate = queueListBoxItemCP.ContentTemplate;
TextBox tbxTitle = (TextBox)dataTemplate.FindName("tbxTitle", queueListBoxItemCP);
tbxTitle.Focus();
}
(참고 : 여기, VisualTreeWalker 노출 여러 가지 유용한 기능을 VisualTreeHelper을 통해 내 자신의 래퍼) 항목이 컨트롤에 추가되었습니다해서
주, 즉 의미하지 않는다 자사의 UI 컨테이너 생성되었습니다. 아직 UI 컨테이너가없는 경우를 고려해야합니다. – Andy
C# 및 WPF로 작성 중이며 ListBox.ItemsContainer 아래에이 속성이 표시되지 않습니다.이 목록 상자의 인스턴스를 어떻게 가져 옵니까? – sprite
@size, 내 질문에 대한 해결책이 있습니까? http://stackoverflow.com/questions/6148279/record-items-visible-to-user-in-listbox (+250 현상금) – tofutim