2011-09-26 5 views
1

Observable 컬렉션을 WPF 응용 프로그램의 자동 완성 텍스트 상자에 바인딩해야합니다. 그러나 디자이너에서 바인딩 한 후 응용 프로그램을 실행하면 드롭 다운에 전체 BL 클래스 참조가있는 디스플레이가 나타납니다. 이 문제를 피하는 방법은? 또한 드롭 다운 (자세히보기)에 다른 속성을 표시하고 List에서 항목을 선택하면 개체의 Other 속성을 가져올 수 있어야합니다. 아무도 코드 스 니펫을 가지고 올 수 있습니까?자동 완성 텍스트 상자에 Observable 컬렉션을 바인딩하는 방법은 무엇입니까?

+0

wpf 툴킷 또는 .Net 4.0 프레임 워크에서 내장 된 자동 완성 텍스트 상자를 사용하고 있습니까? 아니면 당신 자신의 것으로 창조하고 있습니까? –

+0

예 WPF 툴킷에서 inbuilt AutoCompleteBox를 사용하고 있습니다. – saravana

답변

0

AutoCompleteTextBox에는 ItemTemplate 속성이 있습니다. 원하는 것을 드롭 다운 목록에 표시 할 수 있습니다.

0

코드를 보지 않고 ObservableCollection이 사용자 정의 개체라고 가정하고 ItemsSource를 ObservableCollection에 바인딩하고 DataTemplate을 제공하지 않습니다. DataTemplate 내의 컨트롤은 ObservableCollection에 저장된 개체의 public 속성에 바인딩됩니다.

DataTemplate을 사용하면 드롭 다운 목록 상자에서 원하는 모든 속성을 표시 할 수도 있습니다. 당신이 사용하고있는 자동 완성 텍스트 박스를 알지 못하기 때문에 나는 DataTemplate의 예제를 실제로 줄 수 없습니다. http://msdn.microsoft.com/en-us/library/ms742521.aspx : 여기

<ListBox Width="400" Margin="10" 
    ItemsSource="{Binding Source={StaticResource myTodoList}}"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel> 
     <TextBlock Text="{Binding Path=TaskName}" /> 
     <TextBlock Text="{Binding Path=Description}"/> 
     <TextBlock Text="{Binding Path=Priority}"/> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

가 여러분에게 필요한 모든 정보를 제공하는 링크입니다 : 여기

은 목록 상자의 DataTemplate의 간단한 예입니다.

+0

항목 템플릿을 정의한 후 이제 작동 중입니다. Josh와 AngelWPF 모두에게 감사드립니다. saravana

관련 문제