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

question-closed C# WPF - problem z ucinaniem tekstu przez Grid

Aruba Cloud - Virtual Private Server VPS
0 głosów
656 wizyt
pytanie zadane 30 kwietnia 2019 w C# przez gagyn Stary wyjadacz (11,050 p.)
zamknięte 2 maja 2019 przez gagyn

Layout programu, który piszę nie zachowuje się do końca tak jakbym chciał. Dopiero zaczynam naukę WPF, dlatego nie wiem w jaki sposób wyeliminować zachowanie takie jak na filmie: https://drive.google.com/file/d/13b2m5PXddG6OU_82sfCkC4zfJyvzxTfl/

Edit: Chciałbym aby tekst nie był w żaden sposób ucinany oraz nie wiem, dlaczego szerokość kolumn Grida jest zmiejszana, pomimo tego, że jeszcze jest miejsce po prawej stronie (jak na filmie).

Kod jest za obszerny na wklejanie, więc podaję linki do konkretnych plików na GitHubie:

xaml z wyglądem okna (cały widok okna poza buttonami [czyli tekst z danymi], jest jako scrollViewer): MainWindow.xaml

klasa tworząca WrapPanel, który jest następnie przypisywany do scrollViewer.ContentWrapPanelMaker.cs

klasa podstawowa tworząca pojedynczy Grid, który jest dodawany do powyższego WrapPanelu: GridMaker.cs

przykładowa klasa, która dziedziczy po klasie GridMaker: DaysGridMaker.cs

 

Z góry dziękuję za pomoc.

PS. Jeżeli ktoś chciałby zobaczyć sam na czym polega problem, to proszę o ściągnięcie kodu z GitHuba i skompilowanie. Program potrzebuje wczytać plik w formacie .json, więc podaję przykładową zawartość, którą należy wkleić do pliku z formatem json:

{
  "participants": [
    {
      "name": "Jan Kowalski"
    },
    {
      "name": "Jan Nowak"
    },
    {
      "name": "Jakub Kowalski"
    }
  ],
  "messages": [
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 100234345355,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Kowalski",
      "timestamp_ms": 100233453446,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 100234453489,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 100234447878,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jakub Kowalski",
      "timestamp_ms": 1002345433454,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 10018378378234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1001289764634,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 100689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },  
	{
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 14786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	{
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1689678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 127667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 1786487234,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 189678234,
      "content": "bla bla bla",
      "type": "Generic"
    },
    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 17667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 17667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
	    {
      "sender_name": "Jan Nowak",
      "timestamp_ms": 17667867834,
      "content": "bla bla bla",
      "type": "Generic"
    },
  ],
  "title": "example_messes",
  "is_still_participant": true,
  "thread_type": "RegularGroup"
}

 

komentarz zamknięcia: Rozwiązałem problem.
komentarz 30 kwietnia 2019 przez NowyUrzydgownig Mądrala (5,090 p.)
Ustaw HorizontalScrollBarVisibility na Visible albo Hidden - wtedy nie będzie ci się nic chować.
komentarz 30 kwietnia 2019 przez gagyn Stary wyjadacz (11,050 p.)
Wiem że to by rozwiązało problem, jednak chciałbym aby po zmniejszeniu szerokości elementy przeskakiwały do następnej linijki. Nie przepadam za przewijaniem horyzontalnym. Jest jakieś inne rozwiązanie?
komentarz 30 kwietnia 2019 przez NowyUrzydgownig Mądrala (5,090 p.)
Najprostsze to stosuj 'if'y' i jak osiąga jakąś szerokość to zmieniaj położenie w twoim Grid. Polecam poszukać w Internecie innych rozwiązań, może można to zrobić jakoś inaczej.
komentarz 30 kwietnia 2019 przez gagyn Stary wyjadacz (11,050 p.)
Właśnie moim problemem jest to, że nie wiem czego szukać. Domyślam się, że da się dodać jakąś właściwość dla obiektu WrapPanel albo jakiegoś Grida.

Nie wiem z jakiego powodu kolumny (a razem z nimi tekst) mają zmiejszaną szerokość, pomimo tego, że jest jeszcze tyle wolnego miejsca po prawej stronie. Właściwości MinWidth i MinHeight mam ustawione tak, aby cały content się zmieścił. Jednak z powodu zostawiania tego wolnego miejsca, nie mieści się.
komentarz 30 kwietnia 2019 przez NowyUrzydgownig Mądrala (5,090 p.)
Szukaj pod nazwą resize wpf. https://stackoverflow.com/questions/19393774/how-to-make-all-controls-resize-accordingly-proportionally-when-window-is-maximi - tutaj jest częściowa odpowiedź na twoje pytanie. Możesz użyć metody onSizeChange dla WPF, aby wywoływać jakąś funkcję, która będzie zmieniać pozycje elementów. Możesz też bindować aktualny rozmiar okna i w zależności od tego ustalać dynamicznie pozycje elementów. Jednak powinieneś się zastanowić czy na pewno tego potrzebujesz.
komentarz 2 maja 2019 przez gagyn Stary wyjadacz (11,050 p.)
Tylko, że ja bym chciał uzyskać odwrotny efekt. Chciałbym, aby rozmiar był ustawiony na stałe, a wielkość okna nie wpływała na szerokość kolumn.
komentarz 2 maja 2019 przez gagyn Stary wyjadacz (11,050 p.)
Udało mi się poradzić z problemem - zauważyłem, że jest zbędna kolumna, która zajmowała miejsce, pomimo tego, że była pusta.

Podobne pytania

0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 27 stycznia 2020 w C# przez Kamilos1906 Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 295 wizyt
pytanie zadane 5 sierpnia 2017 w C# przez niezalogowany
0 głosów
1 odpowiedź 375 wizyt
pytanie zadane 27 czerwca 2023 w HTML i CSS przez Skulak Nowicjusz (240 p.)

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,662 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...