2017-05-11 3 views
1

필자는 Universal Windows Apps 개발의 초보자이며, 도움이 필요하다는 것은 말할 필요도 없습니다. 카탈로그로 표시된 제품을 나타내는 항목이 들어있는 ListView가 있습니다. 각 항목에는 '장바구니에 담기'버튼이 있습니다. 내 질문은 : 단추를 도청 할 때 단추를 두드린 특정 항목을 장바구니에 넣는 방법으로 전달하려면 어떻게해야합니까? 여기 내 XAML 페이지입니다 :Universal Windows App - 제품의 ListView가 있으며 장바구니에 추가 버튼이 있습니다.

버튼 'addToCart와는'나는 쇼핑 카트에 제품을두고 C# 코드에서 다음과 같은 방법으로 매개 변수로 항목을 통과하고 싶은 도청
<ListView Name="productsList"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <Grid>... 
         .... 
         <StackPanel Grid.Column="1" Margin="10"> 
          <TextBlock Name="productName" FontSize="14" Text="{Binding Name}" ></TextBlock> 
          <TextBlock Name="productPrice" FontSize="14" Text="{Binding Price}" Margin="0,5" ></TextBlock> 
          <Button Name="addToCart" Content="Stavi u korpu" FontSize="14" Tapped="addToCart_OnTapped" ></Button> 
         </StackPanel>... 
        .... 
        </Grid> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

:

private void addToCart_OnTapped(object sender, TappedRoutedEventArgs e) 
    { 
     // Code to put the product into a cart. This code is not important right now. What is important is how do I pass it a proper parameter? 
    } 
+0

아주 쉬운 방법은 '

+0

@ user2657943 - 정말 고마워요. 이것은 내가 원하는 것입니다. – Emir

+1

인터넷을 오래 사용하고 다른 사람들을 돕는 좋은 사람들 !!! – Emir

답변

0

초보자가 가장 쉽게 해결할 수있는 방법은 개체를 태그로 전달하는 것입니다.

    <StackPanel Grid.Column="1" Margin="10"> 
         <TextBlock Name="productName" FontSize="14" Text="{Binding Name}" ></TextBlock> 
         <TextBlock Name="productPrice" FontSize="14" Text="{Binding Price}" Margin="0,5" ></TextBlock> 
         <Button Name="addToCart" Tag="{Binding .}" Content="Stavi u korpu" FontSize="14" Tapped="addToCart_OnTapped" ></Button> 
        </StackPanel> 

Binding .은 목록의 현재 개체를 나타냅니다.

이벤트에서 클릭 한 특정 버튼을 가져와 태그에서 빼낼 수 있습니다.

var button = (Button)sender; 
var obj = (Product)button.Tag; 
관련 문제