Pouze tento týden sleva až 80 % na e-learning týkající se Javy. A zároveň využij akce až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme koordinátorku kurzů a programátora, 100% home office, 100% flexibilní. Prozkoumej aktuální pozice
discount week 30 - hiring
Avatar
Posix
Člen
Avatar
Posix:20.8.2014 15:58

Potřebuju zjistit Surname v DataTemplate... Je nějaké jednoduché řešení?

<Button DataContext="{Binding Person}">
    <Button.Template>
        <ControlTemplate>
            <TextBlock Text="{Binding Name}" />
            <MyCollection ItemsSource="{Binding BlaBla}">
                <MyCollection.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Surname /* ale toto nejde, protoze sa nedostane k Person přes BlaBla*/}" />
                    </DataTemplate>
                </MyCollection.ItemTemplate>
            </MyCollection>
        </ControlTemplate>
    </Button.Template>
</Button>
Odpovědět
20.8.2014 15:58
Proč to dělat jednoduše, když to jde složitě.
Avatar
sadlomaslox25:20.8.2014 17:14

muzes bliz upresnit co bys chtel (nechapu presne ty vztahy)? ale predpokladam ze to pujde vyresit pres

  1. RelativeSource (docela slozite)
  2. ElementName (me to dycky fungovalo a je to easy) ukazka je treba tu ( http://stackoverflow.com/…work-exactly )
 
Nahoru Odpovědět
20.8.2014 17:14
Avatar
Posix
Člen
Avatar
Odpovídá na sadlomaslox25
Posix:20.8.2014 17:43

No relative source TemplatedParent nejde, protože to je DataTemplate a ne ControlTemplate.. x:Nmae jsem taky už zkoušel a nejspíš zase kvůli DataTemplatu to nejde.. AncestorType v relative source není v silverlightu pro wp

Nahoru Odpovědět
20.8.2014 17:43
Proč to dělat jednoduše, když to jde složitě.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
sadlomaslox25:20.8.2014 18:08

tohle me de v SL5 (ted nemuzu skouset WP8, protoze nemam telefon)

<Button  DataContext="{Binding Person}">
            <Button.Template>
                <ControlTemplate>
                    <StackPanel>
                        <TextBlock Name="te" DataContext="{Binding}" Text="{Binding Name}" />
                        <ListBox  ItemsSource="{Binding Data}">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel>
                                        <TextBlock Text="{Binding DataContext.Surname, ElementName=te}"/>
                                        <TextBlock Text="{Binding}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
                    </StackPanel>
                </ControlTemplate>
            </Button.Template>
        </Button>
 
Nahoru Odpovědět
20.8.2014 18:08
Avatar
Posix
Člen
Avatar
Odpovídá na sadlomaslox25
Posix:20.8.2014 18:26

Hmm tak me to jde taky, ale delal sem to taky tak.. Musim to jeste znovu pomalu projit a snad zjistim, kde sem udelal chybu

EDIT: tak už asi vím.. Já jsem nenastavoval DataCOntext tomu TextBlocku "te".. myslel jsem, že ho automaticky převezne..

Editováno 20.8.2014 18:28
Nahoru Odpovědět
20.8.2014 18:26
Proč to dělat jednoduše, když to jde složitě.
Avatar
sadlomaslox25:20.8.2014 18:31

ten datacontext se musi myslim davat explicitne nevim proc ale musi
(obcas nam to bindovani trochu zlobi :D)

 
Nahoru Odpovědět
20.8.2014 18:31
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 6 zpráv z 6.