IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: WPF vybrání položky v treeView

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
rawen
Člen
Avatar
rawen:10.5.2014 16:30

Zdravím, řeším takový problém. Mám v programu treeView, jehož položky bych chtěl vybírat odděleně (dejme tomu, že třeba tlačítkem). Nějak se mě to nedaří pořád realizovat. Nastavil jsem treeView v XAML takto:

<TreeView.Resources>
    <Style TargetType="TreeViewItem">
        <Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=TwoWay}" />
    </Style>
</TreeView.Resources>

S tím, že v programu mám dále vlastnost IsSelected

public int IsSelected { get; set; }

, kterou bych jen nastavoval na daný index podle potřeby

IsSelected = index;

Proč to nefunguje? Nebo přesnějí co dělám blbě? Když jsem zkoušel jednoduše

treeView.SelectedItem = index;

Tak mě to křičelo, že je to jen pro čtení. Přes zmíněný Binding to sice nekřičí, ale taky to nic nedělá. Nenapadá někoho jak to vyřešit? :)

Editováno 10.5.2014 16:31
Odpovědět
10.5.2014 16:30
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Odpovídá na rawen
Michal Štěpánek:10.5.2014 19:53

já nevím, ale nemělo by to být obráceně?

index = treeView.SelectedItem;
Editováno 10.5.2014 19:55
Nahoru Odpovědět
10.5.2014 19:53
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
rawen
Člen
Avatar
Odpovídá na Michal Štěpánek
rawen:10.5.2014 20:09

nn, já potřebuju označovat položku podle čísla co mám. Teoretická situace: po stisknutí tlačítka - označ 5. položka v treeview.

Nahoru Odpovědět
10.5.2014 20:09
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Odpovídá na rawen
Michal Štěpánek:10.5.2014 20:25

a určitě SelectedItem? ne SelectedIndex?

Nahoru Odpovědět
10.5.2014 20:25
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
rawen
Člen
Avatar
Odpovídá na Michal Štěpánek
rawen:10.5.2014 20:43

SelectedIndex treeView ani nemá (ten má jen dataGrid tuším). On je problém v tom, že treeView.Selec­tedItem (který by byl docela logicnej na přenastavení) je jen pro čtení. Přes ten Binding jak jsem psal mě to přijde dobrý, ale nechápu proč nefunguje.

Nahoru Odpovědět
10.5.2014 20:43
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.