WPF: Ladění data bindingu

Pokud binding píšete ručně přímo v XAMLu, určitě mi dáte za pravdu, že se občas překlepnete nebo přehlédnete a binding prostě nefunguje. O tom, jak ladit data binding ve WPF vyšlo už poměrně hodně článků např. How can I debug WPF bindings? od Bea Stollnitze, který popisuje několik technik ladění.

Nejvíce se mi osvědčilo nadění pomocí Converteru. Converter je třída, která je zděděná z IValueConverter a můžeme pomocí něho udělat  jakousi transformaci dat na požadované datové typy. Jako jeden z příkladů budiž projekt WPF Converters na CodePlexu, který obsahuje poměrně velké množství v praxi hodně užitečných konvertorů.

Můj Converter pro ladění vypadá takto:

public class DebugConverter : IValueConverter
{
  public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  {
    System.Diagnostics.Debugger.Break();
    return value;
  }

  public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  {
    System.Diagnostics.Debugger.Break();
    return value;
  }
}

Princip je jednoduše takový, aby při konverzi hodnoty vyskočila výjimka. Potom si můžeme ve Visual Studiu prohlédnout hodnotu, která by se konvertovala v parametru value.

Pokud by k výjimce vůbec nedošlo, znamená to, že se Converter nepoužil a tím pádem se pravděpodobně jedná o překlep v názvu vlastnosti (Property), kterou chceme svázat bindingem.

Použití Converteru je velmi jednoduché, je potřeba ho jenom přidat do Resource, abychom ho mohli použít jako StaticResource:

<Window.Resources> 
  <DebugConverter x:Key="DebugConv" /> 
</Window.Resources>

A potom použít v bindingu, který chceme prověřit:

<Label Content="{Binding ElementName=myTextBox, Path=Text, Converter={StaticResource DebugConv}}" />

A motivační poznámka na závěr. Vytvořit tento ladící Converter zabere opravdu mnohem méně času než metodou pokus omyl zjišťovat, kde je chyba. (Vlastní zkušenost) :)

Zveřejněno 06 ledna 10 09:27 by topas
Vedeno pod: , ,

Upozornění na nové komentáře

Pokud chčeš dostávat upozornění emailem na změny u toho příspěvku,tak se zaregistruj zde.zde

Odebírat komentáře k tomuto příspěvku pomocí RSS

Komentář

# .NET i jiné ... said on ledna 27, 2010 8:44:

Čo by mal každý (programátor) vedieť o znakových sadách a kódovaní znakov – aspnet.sk Archiv Prezentací

# Buy Viagra said on prosince 12, 2011 21:21:

Princip je jednoduše takový, aby při konverzi hodnoty vyskočila výjimka. Potom si můžeme ve Visual Studiu prohlédnout hodnotu, která by se konvertovala v parametru value.

# Bubba said on července 9, 2012 4:33:

http://www.cogenesys.com/online_colleges.html online degrees 080669 http://www.cogenesys.com/art-college.html art school >:-OO http://www.lanewayhousingvancouver.com/mortgage_refinance_rates.html mortgage rates refinance 3887 http://www.dearandfrom.com/mortgage-rate.html mortgage interest rates >:OOO

# Nona said on července 13, 2012 22:41:

http://www.instantcarinsurquote.com/ car insurance rates 045078 http://www.heatherlaforce.com/mba.html technical college dtykfo http://www.dearandfrom.com/home.html home loans =-P

# Nona said on července 13, 2012 22:41:

http://www.instantcarinsurquote.com/ car insurance rates 045078 http://www.heatherlaforce.com/mba.html technical college dtykfo http://www.dearandfrom.com/home.html home loans =-P

# Sunit said on srpna 31, 2012 8:14:

输入评论                                                                     您可以使用这些 HTML 标签: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <strike> <strong>                                                         function www_yaha_me_weibo__reload(){   var url=location.href;   var temp = url.split("#");   url = temp[0];   url += "#sw_button";   loiatcon.href = url;   loiatcon.reload();}

# zkpcuh said on srpna 31, 2012 23:23:

R78F48  <a href="http://wgdvchyaouuw.com/">wgdvchyaouuw</a>

# yymohjcj said on září 1, 2012 9:39:

Y83V1w , [url=http://jtycakqixavo.com/]jtycakqixavo[/url], [link=http://dfewuaewpwod.com/]dfewuaewpwod[/link], http://jbwngvfkoifh.com/

# mmppcxuxpri said on září 2, 2012 12:33:

fClkCC  <a href="http://zbwpjkbwwjsx.com/">zbwpjkbwwjsx</a>

# lfiduh said on září 3, 2012 0:15:

kuZfOr , [url=http://wpgebafdscoy.com/]wpgebafdscoy[/url], [link=http://nhmjfawnsmyh.com/]nhmjfawnsmyh[/link], http://nuptfobwgwns.com/

# Caseydix said on dubna 23, 2017 23:52:

wh0cd792266 [url=http://buyviagraonline2017.com/]price viagra[/url]

# KelTeerly said on června 30, 2017 18:38:

Clomid Forum Gratuit  [url=http://cialprice.com]cialis[/url] Priligy Canada

# KelTeerly said on června 30, 2017 18:38:

Clomid Forum Gratuit  [url=http://cialprice.com]cialis[/url] Priligy Canada

# KelTeerly said on července 3, 2017 0:41:

Cialis Generique Information  [url=http://buycheapvia.com]viagra prescription[/url] Viagra Nl Apotheke

# JerryTus said on července 3, 2017 7:20:

chnr5w0lyh4fydob3g

[url=http://google.us]google[/url]

<a href=http://google.us>google</a>

5xqpgtjfvalk7jol1g

# KelTeerly said on července 9, 2017 1:32:

Amoxicilina Amoxi Antibiotic By Money Order Store  [url=http://cheapviapill.com]viagra[/url] Propecia Young Men

# KelTeerly said on července 9, 2017 1:32:

Amoxicilina Amoxi Antibiotic By Money Order Store  [url=http://cheapviapill.com]viagra[/url] Propecia Young Men

# Kennglalcops said on července 9, 2017 21:33:

Sildenafil 100  [url=http://buytadalaf.com]generic cialis[/url] Proscar Pelo Propecia

# Kennglalcops said on července 9, 2017 21:33:

Sildenafil 100  [url=http://buytadalaf.com]generic cialis[/url] Proscar Pelo Propecia

# ChasRegmep said on července 9, 2017 21:34:

Pharmaciesonline  [url=http://cialvia.com]cialis[/url] Get Legally Clobetasol Best Website Overseas Pharmacy

# Kennethgic said on července 10, 2017 5:51:

wh0cd254422 [url=http://lisinopril5mg.us.com/]lisinopril 5 mg[/url] [url=http://buypropecia.us.org/]cost of finasteride[/url]

# johhnyBoozy said on července 12, 2017 4:28:

re1m6nz3ybrr05f3mc

[url=http://google.us]google[/url]

<a href=http://google.us>google</a>

22s7qnpm7a0badq82i

# KelTeerly said on července 14, 2017 21:45:

Citotec Comprar  [url=http://lowpricevia.com]viagra[/url] El Cialis Femenino

# ChasRegmep said on července 15, 2017 17:11:

Amoxicillin For Dogs Same As Humans  [url=http://lowpricevia.com]viagra[/url] 20 Mg Levitra

# Kennglalcops said on července 16, 2017 0:44:

Tamoxifen Shopping  [url=http://cheapviapill.com]generic viagra[/url] Cialis 20mg Vidal

# AlfredKiz said on července 16, 2017 19:46:

wh0cd50230 [url=http://nolvadexonline.us.com/]Buy Nolvadex Online[/url]

# AlfredKiz said on července 18, 2017 13:55:

wh0cd139932 [url=http://genericwellbutrin.us.com/]wellbutrin 100 mg[/url]

# ChasRegmep said on července 20, 2017 21:17:

Cialis Tab 20mg  [url=http://buytadalaf.com]generic cialis[/url] Buy Zithromax Z Pack Online

# Kennglalcops said on července 20, 2017 23:38:

Cephalexin Anxiety  [url=http://pricescial.com]cheap cialis[/url] Cephalexin And Laying In The Sun

# Kennglalcops said on července 20, 2017 23:38:

Cephalexin Anxiety  [url=http://pricescial.com]cheap cialis[/url] Cephalexin And Laying In The Sun

# Bennysop said on července 22, 2017 10:31:

wh0cd172394 [url=http://buydiclofenac.us.org/]diclofenac sodium ec 75 mg[/url] [url=http://doxycyclinemonohydrate.us.com/]doxycycline[/url]

# KelTeerly said on července 23, 2017 18:22:

Acheter Generique Cialis  [url=http://buytadalaf.com]cialis online[/url] Combien Coute Le Cialis

# AlfredKiz said on července 24, 2017 7:39:

wh0cd437664 [url=http://alesse.world/]buy alesse online[/url] [url=http://renagel.reisen/]renagel 800 mg[/url] [url=http://buyzantac.world/]zantac[/url] [url=http://naprosyn.world/]generic naprosyn[/url]

# AlfredKiz said on července 26, 2017 0:47:

wh0cd306948 [url=http://buyazithromycin.shop/]azithromycin[/url] [url=http://buyrobaxin.store/]methocarbamol robaxin 500mg[/url] [url=http://diflucan150mg.pro/]diflucan without get a prescription online[/url] [url=http://retin-a.shop/]retin-a[/url]

# AlfredKiz said on července 26, 2017 16:04:

wh0cd968216 [url=http://buyacyclovir.us.org/]acyclovir tablets[/url]

# AlfredKiz said on července 28, 2017 3:23:

wh0cd470127 [url=http://strattera2016.us.com/]strattera without a prescription[/url] [url=http://onlinevardenafil.us.com/]website here[/url] [url=http://serpina.us.com/]serpina online[/url] [url=http://zyban.us.com/]Generic Zyban[/url]

# Bennysop said on srpna 2, 2017 14:59:

wh0cd122820 [url=http://periactin.world/]periactin[/url] [url=http://erythromycin.fund/]erythromycin 250 mg[/url] [url=http://prednisone.fail/]prednisone[/url] [url=http://phenergan.shop/]buy phenergan online[/url] [url=http://elimite.live/]elimite[/url]

# AlfredKiz said on srpna 2, 2017 17:57:

wh0cd122818 [url=http://viagra24.us.org/]Viagra[/url]

# AlfredKiz said on srpna 5, 2017 5:15:

wh0cd726838 [url=http://buycelexa.us.org/]Buy Celexa[/url] [url=http://diclofenac.us.org/]diclofenac[/url]

# Bennysop said on srpna 5, 2017 18:47:

wh0cd257373 [url=http://generictriamterene.us.com/]triamterene blood pressure[/url] [url=http://acyclovir.us.org/]Acyclovir 200 Mg[/url] [url=http://amitriptyline.us.org/]buy cheap amitriptyline online[/url]

# Bennysop said on srpna 5, 2017 22:16:

wh0cd404319 [url=http://propranolol.world/]propranolol[/url] [url=http://buspar.shop/]cost of buspar[/url] [url=http://yasminbirthcontrol.pro/]yasmin[/url] [url=http://bentyl.world/]learn more[/url] [url=http://elocon.news/]elocon cream generic[/url] [url=http://buy-bentyl.reisen/]buy bentyl[/url]

# Bennysop said on srpna 7, 2017 20:52:

wh0cd347085 [url=http://rimonabant247.us.com/]rimonabant weight loss[/url] [url=http://amoxil247.us.org/]amoxil without prescription[/url] [url=http://levaquin365.us.com/]citation[/url] [url=http://cialisprice24.us.org/]cialis price[/url]

# AlfredKiz said on srpna 8, 2017 21:06:

wh0cd391930 [url=http://chloramphenicol.reisen/]chloramphenicol[/url] [url=http://nootropil.world/]nootropil[/url] [url=http://femara.world/]femara[/url] [url=http://hoodia.reisen/]hoodia[/url]

# Charleszoomi said on srpna 19, 2017 21:05:

wh0cd69410 [url=http://citalopram.us.org/]citalopram[/url] [url=http://buyviagrasoft.us.org/]get the facts[/url]

# Kennethgic said on srpna 20, 2017 6:42:

wh0cd85639 [url=http://paroxetine.reisen/]paroxetine[/url] [url=http://citalopram.live/]citalopram[/url] [url=http://nexium.work/]nexium[/url]

# AlfredKiz said on srpna 21, 2017 7:40:

wh0cd453010 [url=http://sildenafil100mg.us.com/]Sildenafil 100mg[/url] [url=http://viagra.us.org/]VIAGRA[/url]

# AlfredKiz said on srpna 22, 2017 20:54:

wh0cd28395 [url=http://chloroquine.world/]chloroquine diphosphate[/url] [url=http://prevacid.world/]prevacid[/url] [url=http://chloramphenicol.world/]chloramphenicol[/url]

# EugeneHar said on srpna 23, 2017 8:29:

wh0cd731560 [url=http://ipratropiumalbuterol.us.com/]ipratropium albuterol[/url]

# Bennysop said on srpna 24, 2017 5:58:

wh0cd73246 [url=http://augmentin875mg.us.org/]purchase augmentin[/url] [url=http://motrin800.us.org/]motrin online[/url] [url=http://levaquin500mg.us.org/]levaquin antibiotics[/url]

# ChasRegmep said on srpna 24, 2017 20:14:

Cheep Levitra  [url=http://buytadalaf.com]cialis online[/url] Amoxicillin For Bacteria In Intestines

# KelTeerly said on srpna 25, 2017 9:00:

Levitra Mejor Que Viagra  [url=http://cheapviapill.com]online pharmacy[/url] Novidat 500mg

# SoloFum said on srpna 26, 2017 23:56:

installment loan increase credit score

     [url=http://soloadvance.com/] cash advance[/url]

   <a href="http://soloadvance.com/"> payday express</a>

   acs payday loan

# AaronPex said on srpna 27, 2017 3:22:

wh0cd204848 [url=http://effexorgeneric.us.org/]Effexor Generic[/url]

# Charleszoomi said on srpna 27, 2017 11:33:

wh0cd575178 [url=http://hydrochlorothiazide.brussels/]hydrochlorothiazide 12.5 mg tablet[/url] [url=http://citalopram.brussels/]citalopram hydrobromide 20 mg[/url]

# MaoisesFum said on srpna 27, 2017 13:36:

cheap rates for personal loans

     [url=http://paydayfastnowz.com/] payday express[/url]

   <a href="http://paydayfastnowz.com/">fast payday loans</a>

   no fax easy payday loan

# MaoisesFum said on srpna 28, 2017 20:00:

spectrum payday loans

     [url=http://paydayfastnowz.com/] payday loans online[/url]

   <a href="http://paydayfastnowz.com/"> payday express</a>

   quick cash loans company

# AaronPex said on srpna 29, 2017 22:05:

wh0cd339401 [url=http://amitriptyline.zone/]amitriptyline[/url] [url=http://buy-antabuse.store/]buy disulfiram without prescription[/url] [url=http://diflucanonline.pro/]diflucan[/url]

# AaronPex said on srpna 30, 2017 17:33:

wh0cd118986 [url=http://genericlipitor365.us.com/]Cost Of Lipitor[/url]

# AaronPex said on srpna 31, 2017 11:00:

wh0cd16887 [url=http://cipro.brussels/]cipro[/url] [url=http://wherecanibuyviagra.pro/]where can i buy viagra over the counter[/url]

# Michaelalind said on září 1, 2017 19:03:

[url=http://buycialisonline.us.org/]more about the author[/url]

# Brettjinee said on září 1, 2017 19:37:

[url=http://buycialisonline.us.org/]buy cialis online[/url]

# Bennysop said on září 2, 2017 0:08:

[url=http://cialis247.us.com/]buy cialis[/url]

# Kennethgic said on září 2, 2017 6:36:

[url=http://buycialisonline.us.org/]Cialis Online[/url]

# AaronPex said on září 3, 2017 4:43:

wh0cd294853 [url=http://propecia.news/]buy finasteride online[/url]

# Brettjinee said on září 3, 2017 11:36:

wh0cd1250013 [url=http://albuterol.store/]albuterol[/url]

# AaronPex said on září 3, 2017 21:54:

wh0cd1911293 [url=http://buycelexa.shop/]celexa[/url] [url=http://metformin.reisen/]metformin[/url]

# Charleszoomi said on září 4, 2017 0:11:

wh0cd127835 [url=http://prednisoneonline.pro/]buying prednisone on line[/url] [url=http://yasmin.work/]yasmin birth control pills[/url] [url=http://tretinoincream005.pro/]tretinoin cream 0.05 price[/url]

# Charleszoomi said on září 4, 2017 3:33:

wh0cd221375 [url=http://effexorgeneric.pro/]more information[/url]

# AaronPex said on září 4, 2017 5:24:

wh0cd1176543 [url=http://cymbalta.tools/]cymbalta[/url] [url=http://nolvadex.directory/]nolvadex[/url] [url=http://lasix.store/]lasix online[/url]

# Stewartwal said on září 4, 2017 14:59:

wh0cd2352124 [url=http://acyclovir.us.com/]acyclovir[/url]

# AaronPex said on září 4, 2017 18:26:

wh0cd1617391 [url=http://cialis.us.com/]tadalafil[/url]

# Charleszoomi said on září 4, 2017 23:48:

wh0cd2425606 [url=http://lasix.live/]buy lasix no prescription[/url] [url=http://buyyasmin.shop/]buy yasmin online[/url] [url=http://buytadalafil.store/]buy tadalafil[/url]

# AaronPex said on září 5, 2017 16:45:

wh0cd2352136 [url=http://buyabilify.shop/]discount abilify[/url] [url=http://prozac.zone/]prozac[/url] [url=http://ciprofloxacinhcl500mg.reisen/]ciprofloxacin hcl 500 mg[/url]

# Kennethgic said on září 6, 2017 3:56:

wh0cd1837801 [url=http://nexiumgeneric.pro/]more hints[/url] [url=http://buyseroquel.work/]seroquel[/url]

# AlfredKiz said on září 6, 2017 10:21:

wh0cd817727 [url=http://sildenafil.us.com/viagra-sildenafil-citrate.html]sildenafil 20 mg[/url]

# Charleszoomi said on září 6, 2017 23:24:

wh0cd127835 [url=http://cialis.us.com/]Cialis Online[/url]

# JohnNob said on září 7, 2017 10:20:

[url=https://writemyessay.us.com/]write my essay[/url]

# AaronPex said on září 9, 2017 3:45:

wh0cd6172823 [url=http://buyprovera.reisen/]provera[/url]

# Charleszoomi said on září 9, 2017 8:33:

wh0cd5511521 [url=http://tenormin.store/]tenormin[/url] [url=http://lisinopril.store/]lisinopril[/url] [url=http://trazodone.tools/]trazodone[/url]

# Michaelalind said on září 13, 2017 0:23:

wh0cd8670927 [url=http://genericadalat.pro/]adalat online[/url] [url=http://misoprostol.pro/]continued[/url]

# Billyfeabs said on září 13, 2017 4:52:

wh0cd7862681 [url=http://tadalafil.fail/]tadalafil[/url] [url=http://buybuspar.shop/]buspar[/url] [url=http://elimite.news/]permethrin cream[/url]

# Charleszoomi said on září 13, 2017 10:50:

wh0cd8230087 [url=http://tretinoin.store/]tretinoin cream[/url] [url=http://wellbutrin150mg.pro/]wellbutrin 150 mg[/url]

# Michaelalind said on září 14, 2017 7:37:

[url=http://buyaugmentin.reisen/]augmentin[/url] [url=http://strattera.shop/]atomoxetine cost[/url] [url=http://buystrattera.reisen/]generic strattera[/url]

# SoloFum said on září 15, 2017 16:10:

payday loans multiple payments

     [url=http://soloadvance.com/] cash advance[/url]

   <a href="http://soloadvance.com/"> cash advance</a>

   personal loan companies in garner nc

# rajzrf said on září 17, 2017 23:06:

is std curable venereal disease treatment

anxiety medication every std and symptoms

<a href="http://anxiety.medicationsoverthecounter.com/ ">anxiety medication list</a>

southwestern medical school

[url=http://anxiety.medicationsoverthecounter.com/]anxiety medicine[/url]

transmitted disease symptoms

# otaqsr said on září 18, 2017 8:50:

heat stroke symptoms and treatment health insurance

viagra no prescription heat stroke fever treatment

<a href="http://viagawithoutadoctorprescription.com/ ">viagra without a doctor prescription</a>

article about health care

[url=http://viagawithoutadoctorprescription.com/]viagra without a prior doctor prescription[/url]

cheap and good health insurance

# vzoser said on září 18, 2017 16:35:

list of antibiotics for stds sti male symptoms

cialis walmart cost heat exhaustion seizure

<a href="http://www.tadalafilovercounterwalmart.com/ ">cialis over the counter at walmart</a>

public health care

[url=http://www.tadalafilovercounterwalmart.com/]cialis over the counter at walmart[/url]

first aid of stroke

# vhnvjs said on září 19, 2017 10:25:

what std do i have obamacare plans

kamagra oral jelly family health plan

<a href="http://kamagraoraljelly.us.org/ ">kamagra 100</a>

common stds and symptoms

[url=http://kamagraoraljelly.us.org/]kamagra[/url]

medical school website

# sildenafil 20 mg tablet said on září 22, 2017 0:00:

<a href="http://20mgsildenafil.com/ ">sildenafil</a> medical reform [url=http://20mgsildenafil.com/]generic viagra[/url]

# vgip92 said on září 25, 2017 20:06:

<a href="http://withoutdoctored.com ">viagra without a doctor prescription</a> health & care [url=http://withoutdoctored.com]viagra without a doctor prescription[/url]

# viagra coupons said on září 29, 2017 21:18:

<a href="http://sildenafil-coupons.com/ ">generic viagra</a> std treatment for men [url=http://sildenafil-coupons.com/]generic viagra[/url]

# klaewm said on října 4, 2017 4:06:

affordable care act health insurance first aid cpr online

viagra without a doctor prescription healthcare 1

<a href="http://sildenafilwithoutadoctor.com ">viagra without a doctor prescription USA</a>

general hospital near me

[url=http://sildenafilwithoutadoctor.com]viagra without a doctor prescription[/url]

heat stroke in toddlers

# mhc90f said on října 12, 2017 13:19:

sti male symptoms check for stroke fast

viagra without a doctor prescription stroke treatment first aid

<a href="http://sildenafilwithoutadoctor.com ">viagra without a prescription</a>

affordable health care

[url=http://sildenafilwithoutadoctor.com]viagra without a doctor prescription[/url]

information on stds

# Zftvixj said on října 14, 2017 16:58:

<a href="http://canadianpharma.us.com/#24-hour-pharmacy">canada">http://canadianpharma.us.com/#24-hour-pharmacy">canada pharmacy no prescription</a> medical education websites

http://canadianpharma.us.com/ - online doctor prescription for viagra causes heat stroke

# Aghmh59 said on října 17, 2017 10:23:

<a href=http://genericviaqra.com/>cheap viagra</a> stds with no symptoms

http://genericviaqra.com/#biptx.html - generic viagra for sale sti symptoms

# Alofaug said on října 20, 2017 11:39:

<a href="http://www.genericviaqra.com/">cost of viagra</a> united healthcare health plans

http://genericviaqra.com/#dpqka.html - viagra generic std burning

Vytvoření nového komentáře

(povinný) 
(nepovinný)
(povinný) 
Opiš čísla, která vidíš na obrázku:
Vyvojar.cz na prodej!