NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.

Diskuze – Lekce 8 - Upomínač narozenin v C# .NET WPF - Propojení vrstev

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Poggy
Člen
Avatar
Poggy:9.12.2017 16:36

Ahoj, narazil jsem na identický problém jako výše. Jen sem vložím řešení. Problém je v této části:

private SpravceOsob spravceOsob;

public OsobaWindow(SpravceOsob spravceOsob)
{
        InitializeComponent();
        this.spravceOsob = spravceOsob;
}

Bohužel jsem v předešlých tutoriálech zapomněl nastavit třídy Osoba a SprávceOsob jako veřejné i když v tutoriálu to je. Řešení je tedy:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace WpfUpominacNarozenin
{
    public class SpravceOsob // zde musí být public class SpravceOsob

Třída osoba:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfUpominacNarozenin
{
    public class Osoba // zde musí být public class Osoba
    {
        public string Jmeno { get; set; }
        public DateTime Narozeniny { get; set; }
 
Odpovědět
9.12.2017 16:36
Avatar
Patrik Pastor:21.2.2019 20:08

V XAMLU mi nejde v ItemsSource nalézt v Bindingu Osoby - v těch složených závorkách, takže to nemůžu nabindingovat.

public class SpravceOsob
{
public ObservableCollec­tion<Osoba> Osoby { get; set; }
public SpravceOsob()
{
Osoby = new ObservableCollec­tion<Osoba>();
}

nevite nekdo proc?

 
Odpovědět
21.2.2019 20:08
Avatar
Jakub Švasta
Lektor
Avatar
Odpovídá na Patrik Pastor
Jakub Švasta:22.2.2019 2:15

Když se DataContext nastavuje v code behindu, IntelliSense neumí v XAMLu property objektu napovídat. Prostě to tam napiš ručně a bude to fungovat.

 
Odpovědět
22.2.2019 2:15
Avatar
FiftypiSoftware:3.3.2020 0:30

Trošku mi to oddělováni logické a grafické části připomíná MVC architekturu popisovanou zde v PHP tutoriálech ☺
Nicméně je to dobrá poznámka. To jsem nevěděl

 
Odpovědět
3.3.2020 0:30
Avatar
Lukáš Lakota:24.5.2021 17:25

ahoj, je nějaký rozdíl mezi těmito kusy kódu, nebo se používají úplně stejně?

(Osoba)osobyListBox.SelectedItem
(osobyListBox.SelectedItem as Osoba)
 
Odpovědět
24.5.2021 17:25
Avatar
Odpovídá na Lukáš Lakota
Tomáš Sobota:11.11.2022 21:09

Rozdíl je myslím jen v tom, že když to přetypovat nepůjde, tak při tom prvním program spadne, při tom druhém vrátí null....

Odpovědět
11.11.2022 21:09
Done is better than perfect
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 6 zpráv z 16.