2016-09-14 62 views
0

試圖讓我的ListView內的子項的值獲取子項的值:只能從ListView控件

<ListView.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <Image Width="25" Height="25" Source="{Binding ImagePath}" /> 
         <TextBlock Text="{Binding RumNummer}" Margin="12,0,0,0" /> 
         <TextBlock Text="{Binding Våning}" Margin="150,0,0,0" /> 
        </StackPanel> 
       </DataTemplate> 
</ListView.ItemTemplate> 

不過,我不完全知道如何做到這一點。到目前爲止,我已經成功地讓從ListView中所有的值與

string txt = listView.SelectedItem.ToString(); 

,我已經嘗試四處張望找出我怎麼會只得到了「RumNummer」的價值,而不是兩個「RumNummer 「和」Våning「,所以我可以將它存儲在一個字符串中。

從我所收集,大多數人都與此類似:

string txt = listView.SelectItems[0].Subitems[0]; 

,但似乎並沒有爲我工作。

+0

我想你應該能夠通過選擇項目的*的DataContext *得到它 - 這將返回用於項目類 - 那裏你可以直接訪問你的屬性。 – Romasz

回答

0

您的ListView.SelectedItem將是您綁定ListView DataTemplate的項目。例如,在這種情況下,它將是您的類屬性。

所以,如果下面是你們班

public class MyClass 
{ 
    public string ImagePath {get; set;} 
    public string RumNummer {get; set;} 
    public string Våning {get; set;} 
} 

的樣本。然後下面是你將得到的數據的方式。

MyClass myClass = (MyClass)listView.SelectedItem 

然後你就可以得到的數據爲myclass.RumNummer