2017-12-14 17 views
0

WPFアプリケーションでListBoxのバインディングデータに問題があります。ここでListBoxのWPFバインディングデータ

は私は、XAMLコードです:

<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> 

しかし、私はプログラムを開いた場合、それがテキストに、この種が表示されます。それは製品のリストを出力するはずです。 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

あなたはItemTemplateを削除し、あなたのブースのToString()メソッドをオーバーライドします:) –

答えて

2

アイテムクラスのプロパティにバインドする要素を持つDataTemplateを持つItemTemplateが必要です。

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