2012-03-09 9 views
2

申し訳ありませんが、それは非常に簡単な質問です。しかし、現時点で私は実際にgoogleに何を知らない。私はこのようなオブジェクトがあった場合IEnumerable <string>をListBoxにバインドする方法はありますか?

は:私のVMで

public class Employee 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

を私は従業員(public List<Employee> Employees)のリストを持っています。これは、リストボックスに私のXAMLでこれをバインドするのは簡単です:

<ListBox ItemsSource={Binding Employees}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock Text="{Binding FirstName}"/> 
       <TextBlock Text="{Binding LastName}"/> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

しかし、どのような従業員の私のリストは、文字列ではなくEmployeeオブジェクトが含まれているでしょうか?これらの文字列値をデータテンプレートのTextBlockにどのようにバインドできますか?

+0

あなたは、バインディングモードを設定する必要があり、その場合の 'モード=「双方向」' – David

+0

は、なぜ私は、テキストブロックのバインディングで双方向に設定する必要がありますか?一方向バインディングは、 "Property => UI要素の方法"で動作します。もう一方の方法では、双方向バインディングが必要になります(UI-E => Prop)。また、テキストブロック内のデータを変更することはできません。 –

答えて

4

バインディングを指定する場合は{Binding}と書いてください。

+0

ありがとう!以前はこれを使わなかった。 –

+0

TwoWayバインディングにはパスを設定する必要があるので、同じことですが、TwoWayバインディングが必要な場合に便利な '{Binding Path =。}'を使用することもできます。 –

関連する問題