2017-06-06 14 views
0

この質問はインターネット上で検索しましたが、私はUWPアプリケーションで進歩を遂げることができません。私はDataTemplateListViewを持ってDataTemplate内のTextBlock TextにアクセスするUWP

ListView
<ListView x:Name="lvEszTmplt" Margin="50,61,0,0" ItemClick="lvEszTmplt_ItemClick_1" SelectionChanged="lvEszTmplt_SelectionChanged_1" > 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Margin="0,8" x:Name="spItem" > 
        <TextBlock x:Name="tbAzonosito" > 
           <Run Text="Azonosító: " Foreground="DarkGray"/> 
           <Run Text="{Binding Azonosito}" 
            Foreground="DarkGray" 
            /> 

        </TextBlock> 
        <TextBlock x:Name="tbMegnevezes" > 
           <Run Text="Megnevezés: " Foreground="DarkGray"/> 
           <Run Text="{Binding Megnevezes}" 
            Foreground="DarkGray"/> 

        </TextBlock> 
        <TextBlock x:Name="tbSerial" > 
           <Run Text="Serial: " Foreground="DarkGray"/> 
           <Run Text="{Binding Serial}" 
            Foreground="DarkGray"/> 
        </TextBlock> 
        <TextBlock x:Name="tbSorszam" > 
           <Run Text="Sorszám: " Foreground="DarkGray"/> 
           <Run Text="{Binding Sorszam}" 
            Foreground="DarkGray"/> 
        </TextBlock> 

       </StackPanel> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

、 "Azonositoは、" ID列です。 Itemをクリックすると、別のFrameに移動し、ListViewからIDを取得し、IDのデータを持つDeatailsビューを読み込みます。

どうすればいいですか?

私を助けてくれてありがとう!

private void lvEszTmplt_ItemClick_1(object sender, ItemClickEventArgs e) 
{ 
    var item = (ItemModel)e.ClickedItem; 
    var id = item.Azonosito; 
} 

答えて

3

使用ItemClickEventArgs.ClickedItemプロパティがクリックされたアイテムを読み取ります。

IsItemClickEnabled=trueを使用してItemClickを有効にすることができます。

そして、ソースをListViewにバインドする必要があります。

x:bindを使用してデータをバインドすることもできます。

ソースの種類がObservableCollectionの場合、コードを@Krzysztof Brachaとして使用できます。

ListViewでコントロールを取得する必要がある場合は、VisualTreeHelper.GetChild(DependencyObject reference, int childIndex);を使用して取得することができます。

参照:https://docs.microsoft.com/en-us/windows/uwp/data-binding/data-binding-in-depth

+0

申し訳ありませんが、わかりません。 'ItemModel'とは何ですか? – vlaszlo

+0

'ListView'はオブジェクトのコレクションにバインドする必要があります。各オブジェクトは' DataTemplate'で定義されたアイテムのモデルです。 'ItemModel'は、リストビューにバインドされたオブジェクトの作成済みクラス名であり、アプリケーションでそれを置き換える必要があります。 –

+0

今私は理解する!どうもありがとうございました! – vlaszlo

0

@Krzysztof Brachaは、私はあなたがIsItemClickEnabledプロパティを追加し忘れてご覧良いanswer.Butを持っている:ItemClickイベントの

関連する問題