2012-04-23 10 views
0

でアイテムを取得:私はリストボックスオブジェクトに関するXAMLコードを持ってlistboxitem

<ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="FirstListBox_SelectionChanged"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel> 
           <Grid> 
            <TextBlock Text="{Binding LineOne}" TextWrapping="NoWrap" Margin="50,0,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
            <TextBlock Text="{Binding LineTwo}" TextWrapping="NoWrap" Margin="12,60,0,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
            <CheckBox VerticalAlignment="Top" Margin="0,-5,0,0"/> 
           </Grid>         
          </StackPanel>        
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

私はコードで私のlistboxitemを取得しました:

ListBoxItem item = this.list.ItemContainerGenerator.ContainerFromIndex(2) as ListBoxItem; 

が、私はすべての項目を取得する方法がわかりませんこのリストボックス項目(テキストブロックとチェックボックスオプションを含む)にあります。

私を助けてください。皆さんありがとう。

+1

http://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.aspx –

答えて

1

たとえば、あなたが...

public string LineOne { get; set; } 
public string LineTwo { get; set; } 
public bool MyBooleanValue { get; set; } 

、その後

<ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="FirstListBox_SelectionChanged"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <Grid> 
        <TextBlock Text="{Binding LineOne}" TextWrapping="NoWrap" Margin="50,0,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
        <TextBlock Text="{Binding LineTwo}" TextWrapping="NoWrap" Margin="12,60,0,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
        <CheckBox Checked="{Binding MyBoolValue, Mode=TwoWay}" VerticalAlignment="Top" Margin="0,-5,0,0"/> 
       </Grid>         
      </StackPanel>        
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

を有することができるので、理想的には、あなたは、あなたのチェックボックスは、あなたのアイテムのデータモデルのプロパティにバインドしたいと思いますそれから、現在見ているアイテムのDataContext(タップメソッドなど)を取り戻すことができます。また、 "Items"コレクションを解析すると、すべてのチェックボックスの状態が既に子オブジェクトにあります。

+0

これをより明確に表示できますか?私はC#でよくないです。ありがとう:) – user1259366

+0

あなたは何をもっと明確にする必要がありますか? – ZombieSheep

+0

oh。そうですか。ご協力いただきありがとうございます。 :D – user1259366

関連する問題