2017-12-14 2 views
0

ListBox에 바인딩 데이터가있는 WPF 응용 프로그램에 문제가 있습니다.ListBox의 WPF 바인딩 데이터

<Window x:Class="DatabaseBoozeWpf.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:DatabaseBoozeWpf" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="450" Width="625"> 
<Grid> 
    <ListBox 
      Margin="10,124,0,10" 
      ItemsSource="{Binding Boozes}" 
      HorizontalAlignment="Left" 
      ScrollViewer.VerticalScrollBarVisibility="Visible" 
      ItemTemplate="{Binding Boozes}" 

      Width="233"> 

    </ListBox> 

</Grid> 

하지만이 프로그램을 열 경우, 그것은 텍스트에 대한 이런 종류를 표시합니다 :

다음은 나에게 XAML 코드입니다. 제품 목록을 출력해야합니다. enter image description here

+3

'ItemTemplate = "{Binding Boozes}"는 적합하지 않습니다. XAML에서 'ItemTemplate'을 선언하십시오. 여기서 읽기 시작 : [데이터 템플릿 개요] (https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-templating-overview). – Clemens

+0

여기를 참조하십시오 http://www.wpf-tutorial.com/listview-control/listview-data-binding-item-template/ – tabby

+0

Youc 그냥 ItemTemplate 제거하고 귀하의 boozes ToString() 메서드를 재정의하십시오. –

답변

2

항목 클래스의 속성에 바인딩되는 요소가있는 DataTemplate이있는 ItemTemplate이 있어야합니다.

<ListBox ItemsSource="{Binding Boozes}" ...> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding YourProperty}" /> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox>