2014-04-29 4 views
0

나는 목록 상자에 이미지 목록을 만들지 만 이미지를 클릭 할 수 있어야합니다.C# wpf에서 자식 요소를 가져 오는 방법?

이미지를 클릭하면 자식 요소 (텍스트 블록)에서 값을 가져 오는 중 문제가 있습니다.

그물 전체를 검색했지만 해결 방법을 찾을 수 없습니다. 해야 당신이 당신의 DataContext 개체에 SelectedImage를 결합 할 수 선택한 항목을 얻기 위하여

`

 <RowDefinition /> 
    </Grid.RowDefinitions> 



    <StackPanel Grid.Column="0" Grid.Row="0" Margin="10" Grid.ColumnSpan="2"> 
     <TextBlock FontFamily="Tunga" FontSize="30" Foreground="White" Text="WOW" /> 
     <TextBlock FontFamily="Tunga" FontSize="25" Foreground="White" Text="Work Out Warz" /> 
    </StackPanel> 
    <StackPanel Grid.Column="4" Grid.Row="0"> 
     <TextBlock FontFamily="Tunga" FontSize="36" Foreground="White" Text="" Name="txtname" Height="45"/> 
     <TextBlock FontFamily="Tunga" FontSize="25" Foreground="White" Text="" Name="txtwowid" /> 
    </StackPanel> 

    <Grid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="5" > 
     <ListBox x:Name="LstImages" Background="Gray" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.PanningMode="HorizontalOnly" Cursor="Hand" SelectionChanged="LstImages_SelectionChanged" IsSynchronizedWithCurrentItem="True" > 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <ListBoxItem> 
         <StackPanel Orientation="Vertical" Margin="10" > 
          <Button Click="Button_Click" > 
           <Image Source="{Binding img}" Height="250"/> 
          </Button> 
          <TextBlock Name="txtblname" Text="{Binding Title}" Foreground="White" FontSize="30" FontFamily="Tunga"/>        
         </StackPanel> 
        </ListBoxItem> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </Grid> 
</Grid> 

`

+0

ItemTemplate을 사용하여 ListBox 내에 텍스트 블록을 만들기 때문에 값을 가져올 수 없습니다. 여기서 문제는 목록 상자가 버튼과 텍스트 블록에 대한 참조없이 여러 인스턴스를 생성한다는 것입니다. 그래서 그들에게 접근하는 것은 지루한 일이 될 것입니다. 하지만 어쩌면 당신은 목록 상자에있는 항목의 반환 유형을 확인할 수 있습니다, 그것은 유형의 콘텐츠 발표자 것입니다. 그들을 텍스트 블록으로 형변환 해보십시오. – Afaq

답변

0

Titleimg ListBox의 SelectedItem 속성에 대한 속성

<ListBox SelectedItem="{Binding Path=SelectedImage, Mode=TwoWay}" x:Name="LstImages" Background="Gray" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.PanningMode="HorizontalOnly" Cursor="Hand" SelectionChanged="LstImages_SelectionChanged" IsSynchronizedWithCurrentItem="True" > 
관련 문제