2017-06-06 71 views
0

訪問TextBlock的文字我找遍了在這個問題上互聯網,但我不能做我的UWP應用進展。裏面一個DataTemplate UWP

我有一個ListViewDataTemplate

<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> 

ListView中, 「Azonosito」 是一個ID列。 當我點擊Item時,它應該轉到另一個Frame並從ListView獲取ID,並使用ID中的數據加載Deatails視圖。

我該怎麼做?

謝謝你幫助我!在ItemClick事件的

回答

3

使用ItemClickEventArgs.ClickedItem屬性讀取點擊項目:

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

對不起,但我不明白。什麼是「ItemModel」? – vlaszlo

+0

您的'ListView'應該綁定到一個對象集合,其中每個對象都是'DataTemplate'中定義的一個項目的模型。 「ItemModel」是綁定到列表視圖的對象的類名,您應該在應用程序中將其替換。 –

+0

現在我明白了!非常感謝你! – vlaszlo

0

@Krzysztof的Bracha有一個良好的answer.But我看你忘了添加IsItemClickEnabled財產。

您可以使用IsItemClickEnabled=true爲啓用項目單擊。

你應該綁定的源ListView控件。

您也可以使用X:結合綁定數據。

如果你的消息來源的類型的ObservableCollection,您可以使用代碼爲@Krzysztof的Bracha。

如果你需要得到的ListView控件,您可以使用VisualTreeHelper.GetChild(DependencyObject reference, int childIndex);得到它。

請參閱:https://docs.microsoft.com/en-us/windows/uwp/data-binding/data-binding-in-depth

相關問題