Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα καλς γιορτες

εχω ενα προβλημα οποιος μπορει να βοηθησει

 

εχω φτιαξει ενα 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>
Δημοσ.

Αν θυμάμαι καλά δε μπορείς να βάλεις κάποιο Visual σαν το Value ενός Setter όπως κάνει εδώ το Trigger σου.

 

Κοίταξες με Snoop να δεις τι γίνεται στο visual tree όταν ένα TabItem γίνει selected?

Δημοσ.

Να δεις αν μέσα στον header του TabItem έχει μπει το Grid που προσπαθείς να βάλεις ή αν έχει παραμείνει το Image. Αν δεν έχει μπει το grid τότε απλά δεν γίνεται μ' αυτό τον τρόπο.

 

Πάντως υπάρχουν διάφορες προσεγγίσεις που θα μπορούσες να δοκιμάσεις, π.χ. αντί να μπλεχτείς με style trigger να βάλεις σαν Header ένα (Multi)Binding με κατάλληλο Converter ούτως ώστε όταν είσαι selected να γυρνάει Α και όταν δεν είσαι Β.

Δημοσ.

Μου ακουγετε καλυτερο αυτο που λες απλα δε ξερω τπτ σχετικο με αυτο

η αληθεια ειναι οτι μαθαινω απο δω και απο εκει και δεν εχω διαβασει κατι

 

θα το ψαξω σε ευχαριστω πολυ

αν ειχες και κανα ευκαιρο λινκ θα ησουν τελειος

Δημοσ.

Γενικά βάζεις μέσα στο Header ένα π.χ. ContentPresenter και σαν Content αυτού μια τιμή (που θα είναι στην προκειμένη κάποιου είδους Visual) η οποία προέρχεται από Binding.

 

Δεν έχω κάποιο link πρόχειρο αλλά υπάρχει πολύ πράγμα οnline και τα bindings στο WPF είναι ultra σημαντικό κεφάλαιο, από τα πλέον βασικά (WPF χωρίς bindings είναι ψάρι χωρίς λέπια κλπ).

Δημοσ.

Μηπως θελει  ενα datatemplate το οποιο θα εχει datatrigger το isSelected; Οπως βλεπω ομως τα βαζει με το χερι χωρις binding αρα δε ξερω αν γινεται να δουλεψει αν δε βαλει style trigger σε καθε ενα..

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...