Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Canvas unutar ListBoxa-a , ne radi scroll ???

[es] :: .NET :: WPF Programiranje :: Canvas unutar ListBoxa-a , ne radi scroll ???

[ Pregleda: 1707 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

crnjin
Marko Milovanovic
PHP programer
Ljubovija

Član broj: 272984
Poruke: 45
*.wimax.verat.net.



Profil

icon Canvas unutar ListBoxa-a , ne radi scroll ???10.05.2011. u 15:24 - pre 157 meseci
Imam Canvas unutar ListBoxa :

<ListBox Name="lstBox1" Height="250" Width="430" ScrollViewer.VerticalScrollBarVisibility="Visible">
<Canvas x:Name="canvaslst" HorizontalAlignment="Left" Height="550" Width="400"/>
</ListBox>

U canvaslst dinamicki ucitavam matricu dugmadi (Button) 17x30.

Kako mi je visina canvaslst-a veca od visine lstBox1 , pola te matrice mi se ne vidi.

Ako to sve uradim bez listboxa , samo na canvas-u , bude previse zbijeno i nepregledno ...

Neka pomoc ?? Nadam se da sam objasnio sta je problem...
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: Canvas unutar ListBoxa-a , ne radi scroll ???11.05.2011. u 09:35 - pre 157 meseci
Čemu ti uopšte služi taj ListBox? Nema smisla da imaš Canvas u Listbox-u. Napravi Canvas u ScrollVieweru (a ne u listboxu), pa dodaj dugmice na Canvas iz koda, kao što izgleda već sada radiš.

Bolje rešenje je da definišeš ItemTemplate za ListBox tako da ItemTemplate pravi dugmiće:
Code:

        <ListBox x:Name="ListaListBox">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="3">
                        <Label Content="{Binding Caption}" />
                        <Button Content="{Binding Caption}" Click="Button_Click" Tag="{Binding}"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

Code (csharp):

        public class ListItemModel
        {
            public string Caption { get; set; }
            public int SomeData { get; set; }
        }

        public void Init()
        {
            ...
            ListaListBox.ItemsSource = new List<ListItemModel> {new ListItemModel {Caption = "Test1", SomeData = 1}, new ListItemModel {Caption = "Test2", SomeData = 2}};
            ...
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(((sender as Button).Tag as ListItemModel).SomeData.ToString());
        }
 

if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

crnjin
Marko Milovanovic
PHP programer
Ljubovija

Član broj: 272984
Poruke: 45
*.wimax.verat.net.



Profil

icon Re: Canvas unutar ListBoxa-a , ne radi scroll ???11.05.2011. u 22:42 - pre 157 meseci
Mislim da me nisi razumeo ...

Samo mi je potreban scroll da proradi . Stavljao sam Canvas unutar taga za ScrollView ali nije hteo da se aktivira.

<ScrollViewer>
<Canvas x:Name="canvaslst" HorizontalAlignment="Left" Height="550" Width="450"/>
</ScrollViewer>

ali onda sam postavio visinu za taj ScrollView i sve je bilo ok :))) bas kako sam zeleo .

<ScrollViewer Height="250">
<Canvas x:Name="canvaslst" HorizontalAlignment="Left" Height="550" Width="450"/>
</ScrollViewer>

A ListBox sam probao jer ovo nije htelo da proradi , glupa logika al sta je tu je ...

Resio sam problem, ali naravno Hvala na odgovoru ...
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: Canvas unutar ListBoxa-a , ne radi scroll ???12.05.2011. u 09:42 - pre 157 meseci
Možda si rešio problem lokalno, ali i dalje mislim da ti pristup nije dobar. U WPF-u izbegavaj codebehind, pravi dugmiće pomoću itemtemplate-a i modela kao što sam ti prethodno pokazao. Posle možeš da menjaš dugmiće za nešto drugo ako hoćeš bez promene koda (imperativno), nego čisto iz XAML-a (deklarativno).
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

[es] :: .NET :: WPF Programiranje :: Canvas unutar ListBoxa-a , ne radi scroll ???

[ Pregleda: 1707 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.