• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bindowanie danych w listview zagnieżdżonym w innym listview.

0 głosów
76 wizyt
pytanie zadane 28 grudnia 2019 w C# przez PH03NIX Gaduła (3,270 p.)
edycja 28 grudnia 2019 przez PH03NIX

Cześć!

Mam problem z powiązaniem danych z listview. Mianowicie nie mogę ustawić itemsource i zbindować danych listview, która jest umieszczona w drugiej liście. Aplikacja pokazuje jedynie pusty wiersz.

Kod C#:

            listViewThread.DataContext = Controler.posts[index];

            List<WebApiTest.Models.Post> posts = Controler.posts.FindAll(x => x.ParentId == Controler.posts[index].PostId);

            listViewPosts.ItemsSource = posts;

Kod XAML:

<ListView x:Name="listViewThread" Margin="15,50,33,0" Background="#FF6E7074" Foreground="White" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled" BorderBrush="#FFF3AA0D" Grid.Column="1" VerticalAlignment="Top" ScrollViewer.CanContentScroll="False" Height="583">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                </Style>
            </ListView.ItemContainerStyle>
            <Label x:Name="label" Margin="75,60,80,20" Content="{Binding Topic}" Height="auto" Width="auto" FontFamily="Roboto" FontSize="30" IsEnabled="False" Foreground="#FF39A5F1"/>
                <TextBlock x:Name="textBlock" Margin="80,00,80,0" TextWrapping="Wrap" Height="auto" ClipToBounds="False" Text="{Binding Content}" Width="Auto" TextAlignment="Justify" HorizontalAlignment="Center"/>
                <StackPanel Margin="80,40,80,40" Background="#FF575757" >
                    <Label x:Name="label2" Content="Dodaj komentarz" FontFamily="Roboto" FontSize="20" Margin="75,25,80,0" IsEnabled="False" Foreground="#FF39A5F1"/>
                <TextBox x:Name="textBoxTopicPost" Margin="80,10,80,0" TextWrapping="Wrap" Text="Topic" HorizontalContentAlignment="Center" Background="#FF6E7074" Foreground="White" BorderBrush="#FFF3AA0D" SelectionBrush="{x:Null}" Height="23" VerticalAlignment="Top" Grid.Column="1"/>
                <TextBox x:Name="textBoxAddPost" Margin="80,10,80,10" TextWrapping="Wrap" VerticalContentAlignment="Top" Padding="10,0,0,0" Background="#FF6E7074" BorderBrush="#FFF3AA0D" Foreground="White" SelectionBrush="#FF6A6A6A" Grid.Column="1" Height="97" VerticalAlignment="Top"/>
                <Button x:Name="buttonAddPost" Margin="80,0,80,20" Content="Dodaj"  VerticalAlignment="Top" Height="20" Grid.Column="1" Background="#FF6E7074" Foreground="White" BorderBrush="#FFF3AA0D" Click="buttonAddPost_Click"/>

                <Label x:Name="label3" Content="Komentarze" FontFamily="Roboto" FontSize="20" Margin="75,0,80,10" IsEnabled="False" Foreground="#FF39A5F1"/>
                <ListView x:Name="listViewPosts" Margin="80,00,80,60" Background="#FF6E7074" Foreground="White" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled" BorderBrush="#FFF3AA0D" Grid.Column="1" Height="228" VerticalAlignment="Top">
                <ListView.Resources>
                    <Style TargetType="{x:Type GridViewColumnHeader}">
                        <Setter Property="Visibility" Value="Visible" />
                    </Style>
                </ListView.Resources>
                    <ListView.View>
                    <GridView>
                        <GridViewColumn HeaderContainerStyle="{StaticResource myHeaderStyle}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <StackPanel>
                                        <TextBlock Text="{Binding Author, StringFormat='Dodał: {0}'}" TextWrapping="Wrap" FontSize="16" HorizontalAlignment="Center" Width="1000" FontFamily="Roboto Condensed" Foreground="#FF39A5F1" Padding="5,5,0,0"/>
                                        <TextBlock TextWrapping="Wrap" Text="{Binding Content}" FontSize="14" Width="1000"  HorizontalAlignment="Center" FontFamily="Roboto Condensed" Padding="5,2,0,0"/>
                                        <Button Content="Edytuj" HorizontalAlignment="Right" Margin="0,0,5,5" Width="80"  Name="edit" BorderBrush="#FFF3AA0D" Foreground="#FFF3AA0D" Background="White"></Button>
                                    </StackPanel>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
            </ListView>
            </StackPanel>
        </ListView>

Tak to wygląda w praktyce:

 

1 odpowiedź

0 głosów
odpowiedź 30 grudnia 2019 przez Siemił Mądrala (7,380 p.)
Jak wygląda twój model Post? Wiesz, że binduje tylko publiczne właściwości do widoku?

Podobne pytania

0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 20 lipca 2018 w C# przez MaxD1998 Początkujący (280 p.)
0 głosów
1 odpowiedź 380 wizyt
pytanie zadane 1 marca 2018 w C# przez kaminki Obywatel (1,030 p.)
0 głosów
0 odpowiedzi 23 wizyt
pytanie zadane 17 grudnia 2021 w C# przez Ilmefy Obywatel (1,950 p.)

86,526 zapytań

135,279 odpowiedzi

300,595 komentarzy

57,276 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...