xristos05 Δημοσ. 28 Δεκεμβρίου 2012 Δημοσ. 28 Δεκεμβρίου 2012 καλησπερα καλς γιορτες εχω ενα προβλημα οποιος μπορει να βοηθησει εχω φτιαξει ενα tabControl σε wpf (xaml) και θελω να βαλω style σε καθε tabItem θελω καθε ταμπ να εχει ενα icon και οταν ειναι selected να γραφει text ο κωδικας που εχω ειναι αυτος αλλα δε παιζει το text οποιος μπορει ας βοηθησει <Window.Resources> <Style TargetType="{x:Type TabItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TabItem}"> <Grid Name="Borderer" Background="#FF777777" Height="70" Width="90"> <ContentPresenter x:Name="ContentTabItem" ContentSource="Header" VerticalAlignment="Center" HorizontalAlignment="Center" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Foreground" Value="#FF000000" /> <Setter TargetName="Borderer" Property="Background" Value="WhiteSmoke" /> <Setter Property="Header" > <Setter.Value> <Grid> <ContentPresenter ContentSource="Tag" /> </Grid> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style></Window.Resources><Grid> <TabControl Height="189" HorizontalAlignment="Left" Name="tabControl1" VerticalAlignment="Top" Width="500"> <TabItem Name="tabItem1" IsSelected="True" > <TabItem.Tag> <TextBlock Text="blab lab la" /> </TabItem.Tag> <TabItem.Header> <Image Source="images/img1.png" Width="35" Height="35" /> </TabItem.Header> <TabItem.Content> <Grid> <TextBlock Name="aaa" /> </Grid> </TabItem.Content> </TabItem> <TabItem > <TabItem.Tag> <TextBlock Text="la lab blab" /> </TabItem.Tag> <TabItem.Header> <Image Source="images/img2.png" Width="35" Height="35" /> </TabItem.Header> <TabItem.Content> <Grid> <TextBlock Name="bbb" /> </Grid> </TabItem.Content> </TabItem> </TabControl></Grid>
defacer Δημοσ. 28 Δεκεμβρίου 2012 Δημοσ. 28 Δεκεμβρίου 2012 Αν θυμάμαι καλά δε μπορείς να βάλεις κάποιο Visual σαν το Value ενός Setter όπως κάνει εδώ το Trigger σου. Κοίταξες με Snoop να δεις τι γίνεται στο visual tree όταν ένα TabItem γίνει selected?
xristos05 Δημοσ. 28 Δεκεμβρίου 2012 Μέλος Δημοσ. 28 Δεκεμβρίου 2012 Οχι δε κοιταξα η αληθεια ειναι οτι δε το ξερα τι πρεπει να ελεγξω?
defacer Δημοσ. 28 Δεκεμβρίου 2012 Δημοσ. 28 Δεκεμβρίου 2012 Να δεις αν μέσα στον header του TabItem έχει μπει το Grid που προσπαθείς να βάλεις ή αν έχει παραμείνει το Image. Αν δεν έχει μπει το grid τότε απλά δεν γίνεται μ' αυτό τον τρόπο. Πάντως υπάρχουν διάφορες προσεγγίσεις που θα μπορούσες να δοκιμάσεις, π.χ. αντί να μπλεχτείς με style trigger να βάλεις σαν Header ένα (Multi)Binding με κατάλληλο Converter ούτως ώστε όταν είσαι selected να γυρνάει Α και όταν δεν είσαι Β.
xristos05 Δημοσ. 28 Δεκεμβρίου 2012 Μέλος Δημοσ. 28 Δεκεμβρίου 2012 Μου ακουγετε καλυτερο αυτο που λες απλα δε ξερω τπτ σχετικο με αυτο η αληθεια ειναι οτι μαθαινω απο δω και απο εκει και δεν εχω διαβασει κατι θα το ψαξω σε ευχαριστω πολυ αν ειχες και κανα ευκαιρο λινκ θα ησουν τελειος
defacer Δημοσ. 28 Δεκεμβρίου 2012 Δημοσ. 28 Δεκεμβρίου 2012 Γενικά βάζεις μέσα στο Header ένα π.χ. ContentPresenter και σαν Content αυτού μια τιμή (που θα είναι στην προκειμένη κάποιου είδους Visual) η οποία προέρχεται από Binding. Δεν έχω κάποιο link πρόχειρο αλλά υπάρχει πολύ πράγμα οnline και τα bindings στο WPF είναι ultra σημαντικό κεφάλαιο, από τα πλέον βασικά (WPF χωρίς bindings είναι ψάρι χωρίς λέπια κλπ).
ParhsG Δημοσ. 28 Δεκεμβρίου 2012 Δημοσ. 28 Δεκεμβρίου 2012 Μηπως θελει ενα datatemplate το οποιο θα εχει datatrigger το isSelected; Οπως βλεπω ομως τα βαζει με το χερι χωρις binding αρα δε ξερω αν γινεται να δουλεψει αν δε βαλει style trigger σε καθε ενα..
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα