Advertisement

Τεχνολογικές Ειδήσεις, Υποστήριξη, Διαδίκτυο, Ψυχαγωγία, Αγγελίες, Smartphones, Tablets, Games, Eπιστήμη, Free Software

  • UWP Bottom-Up Chat ListView με XAML

    Δεν μπορείτε να ξεκινήσετε ένα νέο θέμα


    Απαντήσεις σε αυτό το θέμα

    Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω Μήνυμα [Σελίδα 1 από 1]  

    Δημοσίευση: 1 UWP Bottom-Up Chat ListView με XAML Την / Το Πεμ 16 Μαρ 2017, 22:45

    Επιστροφή στην κορυφή
    Φτιάχνω μια εφαρμογή UWP η οποία είναι ουσιαστικά τσατ. Το πρόβλημα μου είναι πως να κανω την listview στο XAML να ειναι bottom-up αντι για top-down. Με αλλα λογια αντι τα items να προστηθονται απο πανω προς τα κατω θελω να προστηθονται απο κατω προς τα πανω ετσι ώστε το τελευταιο μηνυμα να είναι κατω και να εχει μορφη στατ. Εχω δοκιμασει διαφορα πραγματα συμπεριλαμβανομενου του microsoft's documentation αλλα δεν μπορεσα να βρω λυση. Ο κωδικας τρεχει μια χαρα, δεν μου βγαζει κανενα ερρορ, απλα αντι για κατω προς πανω τα βγαζει πανω προς κατω. Αν ξερει κανεις κατι ας βοηθησει.

    Παρακατω εχω τον κωδικα του PageResource:

    Κώδικας:
    <DataTemplate x:Key="MessageListDataTemplate" x:DataType="disc:IMessage">
        <Border Background="#2C2F33" CornerRadius="5">
            <StackPanel Margin="5">
                <StackPanel Orientation="Horizontal" Margin="5,2,0,0">
                    <TextBlock TextAlignment="Left" Text="{x:Bind Author,Mode=OneWay}" Foreground="White" FontSize="14"/>
                    <TextBlock TextAlignment="Left" Margin="5,3,0,0" Text="{x:Bind Timestamp,Mode=OneWay,Converter={StaticResource TimeToStringConverter}}" Foreground="LightGray" FontSize="10"/>
                </StackPanel>
                <TextBlock TextAlignment="Left" Margin="10,2,0,0" TextWrapping="WrapWholeWords" Text="{x:Bind Content, Mode=OneWay}" Foreground="#99AAB5" FontSize="20" />
            </StackPanel>
        </Border>
    </DataTemplate>





    Και εδώ είναι το listview:

    Κώδικας:
    <ScrollViewer VerticalScrollBarVisibility="Auto">
        <ListView VerticalContentAlignment="Top" ItemsSource="{x:Bind ChatViewModel.MessageList, Mode=OneWay}" SelectionMode="None" ItemTemplate="{StaticResource MessageListDataTemplate}">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="Margin" Value="0,0,5,5"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>
    </ScrollViewer>





    Απαγορεύεται η αναδημοσίευση των άρθρων ή μέρους του Φόρουμ χωρίς τη γραπτή άδεια των Διαχειριστών.
    Επισκόπηση του προφίλ των χρηστών

    Δημοσίευση: 2 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Παρ 17 Μαρ 2017, 14:09

    Μάριος

    avatar
    News Editor

    Επιστροφή στην κορυφή
    Νομίζω το Alignment πρέπει να αλλάξεις φίλε και να το κάνεις από Top σε Bottom. Δηλαδή αυτό
    Κώδικας:
    VerticalContentAlignment="Top"


    να γίνει κάπως έτσι:
    Κώδικας:
    VerticalContentAlignment="Bottom"


    ή αν δεν δουλέψει αυτό λογικά θα δουλέψει αυτό:
    Κώδικας:
    [code]VerticalAlignment="Bottom"[/code]



    Ουκ ένι ιατρικήν είδέναι, όστις μη οίδεν ό τι εστίν άνθρωπος.
    ~ Ιπποκράτης, 460-377 π.Χ. ~
    Επισκόπηση του προφίλ των χρηστών http://www.inforumgr.com/

    Δημοσίευση: 3 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Παρ 17 Μαρ 2017, 15:04

    Επιστροφή στην κορυφή
    Ευχαριστω για την απαντηση αλλα το εχω δοκιμασει ηδη, επρεπε να το αφήσω down, αλλα δοκιμασε και up και το ξεχασα... Εχω δοκιμασει και τα δυο που πρότεινες... Η μονη αλλαγη που εχω κανει είναι ευγαλα το scrollviewer γιατι δεν χρειαζοταν.



    Απαγορεύεται η αναδημοσίευση των άρθρων ή μέρους του Φόρουμ χωρίς τη γραπτή άδεια των Διαχειριστών.
    Επισκόπηση του προφίλ των χρηστών

    Δημοσίευση: 4 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Παρ 17 Μαρ 2017, 15:05

    Επιστροφή στην κορυφή
    @ΚΚαράπας έγραψε:Ευχαριστω για την απαντηση αλλα το εχω δοκιμασει ηδη, επρεπε να το αφήσω down, αλλα δοκιμασε και up και το ξεχασα... Εχω δοκιμασει και τα δυο που πρότεινες... Η μονη αλλαγη που εχω κανει είναι ευγαλα το scrollviewer γιατι δεν χρειαζοταν.

    Θανατος ορθογραφικα.... εβγαλα* pale



    Απαγορεύεται η αναδημοσίευση των άρθρων ή μέρους του Φόρουμ χωρίς τη γραπτή άδεια των Διαχειριστών.
    Επισκόπηση του προφίλ των χρηστών

    Δημοσίευση: 5 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Παρ 17 Μαρ 2017, 15:52

    atozak

    avatar
    Senior Member

    Επιστροφή στην κορυφή
    τη είναι αυτό ?? εφαρμογή για android ?? εφαρμογή για pc ?? μετά θα το βγάλεις στο φόρουμ ??

    Επισκόπηση του προφίλ των χρηστών https://www.thegreeksenergy.com

    Δημοσίευση: 6 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Παρ 17 Μαρ 2017, 19:52

    Επιστροφή στην κορυφή
    @atozak έγραψε:τη είναι αυτό ?? εφαρμογή για android ?? εφαρμογή για pc ?? μετά θα το βγάλεις στο φόρουμ ??


    Προορίζετε για εφαρμογή για Windows 10 Mobile. Αν φτάσει στο επίπεδο που θέλω εννοείτε θα το κοινοποιήσω εδώ :D



    Απαγορεύεται η αναδημοσίευση των άρθρων ή μέρους του Φόρουμ χωρίς τη γραπτή άδεια των Διαχειριστών.
    Επισκόπηση του προφίλ των χρηστών

    Δημοσίευση: 7 Απ: UWP Bottom-Up Chat ListView με XAML Την / Το Σαβ 18 Μαρ 2017, 03:04

    Επιστροφή στην κορυφή
    Λοιπον ουσιαστικα το πρόβλημα ηταν πισω απο το ObservableCollection. Ο τροπος με τον οποιο ο server επεστρεφε το ObservableCollection είναι αντίθετος με την ουσιαστικη χρηση του οποτε και η παρεξηγηση (Θα ελεγα πως είναι απλα "παραβλεψη" στο API. Με αλλα λογια όταν επαιρνα την συλλογη το τελευταιο μυνημα που ειχε ληφθεί ηταν στην θεση 0 της συλλογης και το πρωτο μηνυμα που ληφθηκε (το πιο παλιο σε χρονο) ηταν στην θεση Ν (Εξαρτάτε απο το ποσα μηνυματα κατεβαζες).

    Παρατηρησα οτι όταν κατεβαζα ενα μηνυμα ξεχωριστα (πχ όταν καποιος εστελνε μηνυμα και ενεργοποιούταν το even) και το προσθετα στην συλλογη με το .add(), πηγαινε στο τελος αυτης, δηλαδή στην Ν+1 θεση. Οποτε ο βασικος λογος που δεν δουλευε είναι διοτι πολύ απλα η λιστα ηταν εξαρχής αναποδα και φορτωνοταν λαθος.

    Πλεον την γυριζω εγω και τα νεο μηνυματα φορτώνονται όπως πρεπει, ευχαριστω οσους βοηθησαν.

    Σε περιπτωση που το χρειαστεί καποιος ο κωδικας που χρησιμοποιώ για να την αντιστρέψω ειναι:

    Κώδικας:
            for (int i=0; i < messageList.Count/2; i++)
            {
                IMessage temp = messageList[i];
                messageList[i] = messageList[messageList.Count - i - 1];
                messageList[messageList.Count - i - 1]= temp;
            }


    Παρακαλω να κλειδωθεί :D



    Απαγορεύεται η αναδημοσίευση των άρθρων ή μέρους του Φόρουμ χωρίς τη γραπτή άδεια των Διαχειριστών.
    Επισκόπηση του προφίλ των χρηστών

    Μήνυμα [Σελίδα 1 από 1]

    Δεν μπορείτε να ξεκινήσετε ένα νέο θέμα


    Μοιραστείτε αυτό το θέμα

    Url
    BBcode
    HTML

    Δικαιώματα σας στην κατηγορία αυτή. Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης