Autor Beitrag
rapgru
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17
Erhaltene Danke: 1



BeitragVerfasst: Mi 28.01.15 19:57 
Heyho Leute,
Ich weiß nicht ob ich so wirklich so unfähig bin, aber ich komme nicht dahinter wie ich den Namen (nicht den Content) des SelectedItem herrausbekomme.
Danke schon im Vorhinein :D
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 28.01.15 22:01 
Üblicherweise läuft das ja so, dass man ein ViewModel hat.

Und das ViewModel hat dann eine ObservableCollection<T> Items und eine Property T CurrentItem. Letztere wird dann per TwoWay Binding an die Listbox oder die Listview (an die Property SelectedItem) geknüpft.
Im ViewModel greifst du dann einfach immer auf diese Property zu.

Soweit zum üblichen Vorgehen. Da du keinen Code gepostet hast, und auch sonst nur wenige Details, kann ich leider nicht erahnen, was du anders machst :nixweiss:
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mi 28.01.15 22:12 
Den Namen von einem TreeViewItem kannst du so ermitteln:

ausblenden C#-Quelltext
1:
2:
3:
4:
 private void treeViewTest_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
 {
     string name = ((TreeViewItem)treeViewTest.ItemContainerGenerator.ContainerFromItem(e.NewValue)).Name;
 }


Vorausgesetzt du hast den Namen manuell zugewiesen. Eigentlich ist der Content doch viel interessanter als das Item ansich, oder? Kann aber auch gut sein das du etwas anderes meinst....

_________________
Gruß
Christoph
rapgru Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17
Erhaltene Danke: 1



BeitragVerfasst: Do 29.01.15 15:59 
Naja ich entwickle ein Kontoverwaltungsprogramm (ähnlich wie Microsoft Money, welches jetzt nicht mehr funktioniert) nach eigenen Bedürfnissen und habe dafür eine ListView, wo man verschiedene Konten anlegen kann. Ich habe mich entschieden die infos von jedem neuen ListViewItem in eine Textdatei zu schreiben. Dem entsprechend habe ich jetzt mit Dateipfaden, etc. mich herumzuschlagen.

Danke für eure Antworten, wede das ganze wahrscheinlich mit ner Datenbank machen

LG rapgru
rapgru Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17
Erhaltene Danke: 1



BeitragVerfasst: Do 29.01.15 17:20 
Hab das ganze jetzt auf Database aufgebaut und benötige nun den Content eines Item.

Muss ich den SelectedItem nach : splitten oder gibts da was viel einfacheres?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 29.01.15 19:58 
Du mußt SelectedItem nur in den richtigen Datentyp wandeln ('casten'):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
var item = listView.SelectedItem as MyDataType; // hier den Datentyp einsetzen
if (item != null)
{
  // nun kannst du mittels 'item.' auf die Eigenschaften und Methoden zugreifen
}

Besser wäre aber die Vorgehensweise mittels MVVM und DataBinding (so wie jfheins schon vorgeschlagen hat), dann würdest du im ViewModel direkt auf die Eigenschaft zugreifen können.
rapgru Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17
Erhaltene Danke: 1



BeitragVerfasst: Do 29.01.15 21:56 
Hey,

hab mein Problem gelöst, hab's mit String.Remove gemacht (also gepfuscht :D). Werd das mal auf die professionelle Art versuchen. Danke für eure Antworten.
Mit Datenbanken geht alles iwie viel einfacher :D