Trieda spoločnosti:
public class Company
{
public int CompanyId { get; set; }
public int? CountryId { get; set; }
}
A dostanem nasledujúci výstup v debugger:
Potrebujem, aby sa táto hodnota viazala na XAML a predpokladám, že to je dôvod, prečo hodnota nezviaže.
Mohol by niekto vysvetliť toto správanie?
odpovede:
2 pre odpoveď č. 1Ak sa viažete na nulový majetok, viažete sa na nehnuteľnosť samotnú alebo na nehnuteľnosť.Value?
Väzba na "myCompany.CompanyId.Value" namiesto na "myCompany.CompanyId" .. Nullable polia majú ďalšie vlastnosti pre "HasValue" a "Value" a nemožno ich viazať priamo.
Dokonca aj vtedy, ak sa ich pokúsite viazať do textového poľa alebo ho používaťako všeobecný parameter, budete musieť vykonať kontrolu existencie (cez HasValue) a potom spracovať skutočnú základnú hodnotu (cez hodnotu). Takže ak CountryId nie je inicializovaný, hodnota bude vyhodnotená na hodnotu "null" a vaša väzba musí byť správna. Väzba XAML sa ľahko manipuluje nulovo, takže by ste mali byť dobré ísť :)