Hub Hub
Ergebnis 1 bis 11 von 11

Hub

  1. Hallo,

    ich bin gerade dabei eine Universal-App mit C# zu entwickeln.

    Ich habe ein Hub und darin Hub-Sections.

    In der Section habe ich in das DataTemplate Textblöcke, die ich zu einer Tabelle angeordnet habe.

    Wie kann ich jetzt auf den/die Textblöcke zugreifen von C#-Code? Wenn ich den Namen des Textblocks eingebe funktioniert es nicht.

    Oder gibt es eine andere Möglichkeit, eine Tabelle in einem Hub zu tun?

    Wäre schön, wenn ihr mir helfen könnten, bin noch nicht so gut.

    Danke
    0
     

  2. 15.10.2014, 14:23
    #2
    Textblöcke die in einem DataTemplate definiert sind, sind über den Namen nicht erreichbar (würden ja sonst auch alle gleich heißen - da wärs etwas schwierig).

    Entweder holst du dir den VisualTree und suchst dir dort die Controls raus oder (und das ist so quasi die empfohlene Variante) - alles was du an den Textblöcken ändern möchtest wird per DataBinding an das Objekt das sie erstellt gebunden und du änderst die Werte dort.
    0
     

  3. Danke
    Könntest du mir ein Beispiel schreiben/zeigen guten Link geben?
    0
     

  4. 15.10.2014, 16:19
    #4
    Fragen wir mal etwas konkreter: wie erstellst du denn momentan deine Tabelle? Und was genau willst du an den Textblöcken ändern?
    0
     

  5. Code:
    <Grid >
            <Hub x:Name="Hub">
                <HubSection x:Name="Section3" Width="428" Header="Highscores">
                    <DataTemplate >
                        <Grid x:Name="GridHighscore" Margin="0,100,0,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="100"/>
                                <RowDefinition Height="100"/>
                                <RowDefinition Height="100"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="100"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
    
                            <TextBlock x:Name="testname" Grid.Column="1" Grid.Row="0"   />
                           
                        </Grid>
                    </DataTemplate>
                </HubSection>
            </Hub>
        </Grid>
    </Page>
    Ich möchte in die 1. Spalte des Grids Textblöcke und da sollen dann die Aktuellen Highscores stehen. Ich muss nur noch wissen wie ich den Textblock einen Text im Code zuweise, weil ich kann es nicht über testname.Text =... machen.
    0
     

  6. Ich würde das via Databinding lösen. Hier ein paar Links zu diesem Thema:

    http://channel9.msdn.com/Series/Wind...ple-Data-Model

    http://www.dotnetcurry.com/showarticle.aspx?ID=979
    1
     

  7. Ok
    Vielen Dank.
    0
     

  8. Und wie früher über den Namen, also texblick1.Text =... geht es nichtmehr?
    Weil ich kapier des mit dem Binding nicht, bin noch nicht so ein guter c# Entwickler
    Und wie ist des mit dem VisualTree?
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_211 aus geschrieben.
    0
     

  9. 18.10.2014, 16:01
    #9
    Na ja, wenn du keine GridView nimmst sondern ein ganz normales Grid und da einfach fix TextBlöcke reinsetzt wo jeder seinen eigenen Namen hat, dann kannst das über das Text-Property so machen.

    Das GridView ist halt ein dynamisches Control, dem man eine Liste von Objekten als Source gibt und es erstellt dann für jedes Objekt mit Hilfe des DataTemplates eine entsprechende Darstellung, wobei sich je nach Binding (OneTime, OneWay und TwoWay) das Template halt immer an Änderungen des Objekts anpasst.

    Wenn du sowieso ein fixes Grid-Layout hast mit nur ein paar Textblöcken drinnen kannst du eben ein ganz normales Grid mit ganz normalen Textblöcken ohne DataTemplates nehmen.

    PS: Direkte Manipulation des Visual Tree empfehle ich eher weniger - auch wenn es technisch geht.
    0
     

  10. Ich hab ja des normale Grid. Aber ich kann im c# code den textblock nicht mit dem Namen ansprechen.
    Muss ich vlt. den Pfad angeben, also Hub.Section3.Grid.testnam.Text?
    Wenn ich den Textblock außerhalb der Hub plaziere, kann ich auf den Textblock zugreifen, aber wenn es in der Hub ist geht es nicht.
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_211 aus geschrieben.
    0
     

  11. 18.10.2014, 20:24
    #11
    Elemente in Hubs befinden sich, glaube ich, immer in Templates und sind daher nicht über den Namen ansprechbar. Binding ist der einzig richtige weg um die Elemente mit Daten zu versehen.
    Mit der kostenlosen PocketPC.ch App von meinem Nokia Lumia 920 aus geschrieben.
    0
     

Ähnliche Themen

  1. RSS-Hub
    Von Phill92 im Forum TC ROM Upgrade
    Antworten: 4
    Letzter Beitrag: 17.03.2010, 07:24
  2. RSS Hub und Opera
    Von eupener im Forum Touch HD Anwendungsprogramme
    Antworten: 6
    Letzter Beitrag: 07.11.2009, 14:17
  3. RSS Hub
    Von Heia im Forum HTC Touch Pro
    Antworten: 6
    Letzter Beitrag: 15.03.2009, 07:52
  4. Probleme mit RSS-Hub und Wetter Aktualisierung
    Von wolf04 im Forum HTC Touch Diamond
    Antworten: 1
    Letzter Beitrag: 25.10.2008, 22:07
  5. Wer benutzt RSS Hub?
    Von TiRohn im Forum HTC Touch Cruise
    Antworten: 6
    Letzter Beitrag: 25.03.2008, 12:33