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í.
Avatar
archie777
Člen
Avatar
archie777:16.3.2014 11:06

Zdravím :)

je možné nějak pouze za použití XAML mezi sebou propojit dva prvky v různych oknech, aniž bych musel pouzit nějakou třídu? jde mi o to, aby se data v listboxu měnila dynamicky

listbox mi po loadu okna nacte sql table

<DataTemplate x:Key="ukaz">


           <TextBlock Text="{Binding Path=Nazev}"/>

       </DataTemplate>
<ListBox x:Name="listbox1" HorizontalAlignment="Left" Height="390" VerticalAlignment="Top" Width="230" Margin="50,76,0,0" ItemTemplate="{StaticResource ukaz}" SelectionChanged="listbox1_SelectionChanged" />

vše OK, chci ale, aby se mi bez použití nějaky další kolekce dynamicky změnil listboxu už ve chvíli, kdy v JINÉM okně kliknu na vytvořit

v jednom okně bych to udělal takto:

Text="{Binding ElementName=listbox1, Path=SelectedItem.Nazev, UpdateSourceTrigger=PropertyChanged}"

jde to nějak jednoduše udělat v xaml nebo je nutný použít nějakou společnou kolekci atd?

díky za případnou pomoc :O

Editováno 16.3.2014 11:08
 
Odpovědět
16.3.2014 11:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na archie777
David Hartinger:16.3.2014 11:20

Nevím o tom, že by to šlo bez použití třídy. Data si prostě normálně ulož do nějaké kolekce a tu binduj do obou formulářů.

Nahoru Odpovědět
16.3.2014 11:20
New kid back on the block with a R.I.P
Avatar
Odpovídá na archie777
Jakub Lásko[Saarix]:16.3.2014 17:30

Mělo by stačit u prního ListBoxu v Bindingu připsat toto:

<DataTemplate x:Key="ukaz">


            <TextBlock Text="{Binding Path=Nazev, Mode=TwoWay}"/>

        </DataTemplate>
Editováno 16.3.2014 17:31
Nahoru Odpovědět
16.3.2014 17:30
Časem je vše možné.
Avatar
archie777
Člen
Avatar
Odpovídá na Jakub Lásko[Saarix]
archie777:18.3.2014 21:04

to s tim modem bohužel nefunguje, ale stejně nevim proč

dokud se vse deje v jednom okne, zmeny se na listboxu projeví okamžite, přitom listbox je bindnutej na sql table / instanci tridy timhle zpusobem:

_zastupce_tridy_dat = new data_class(_datact);
class data_class : ObservableCollection<Table>
this.listbox1.ItemsSource = _zastupce_tridy_dat;
<TextBlock Text="{Binding Path=Nazev, Mode=TwoWay}"/>

ta path = nazev je nazev polozky v sql tablu

proc to v jednom okně dynamicky funguje a ve dvou uz ne? oba okna vidi ty sql tably v pohodě

Editováno 18.3.2014 21:05
 
Nahoru Odpovědět
18.3.2014 21:04
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 4 zpráv z 4.