Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vývojáři, kteří pracují na projektech XAML, často musí ve svých aplikacích zjišťovat a řešit chyby datových vazeb XAML. Nyní existují nástroje v sadě Visual Studio 2019 verze 16.8 nebo novější a Visual Studio 2022, které vám pomůžou najít tyto otravné chyby datových vazeb při ladění aplikace. Příklady běžných chyb vazeb jsou následující:
- Vazba na název vlastnosti, která neexistuje:
{Binding Wrong.Name}
- Vazba na hodnotu nesprávného typu, například vazba na logickou hodnotu, pokud je požadován výčet:
Visibility="{Binding IsVisible}"
Vzhledem k tomu, že se tyto vazby počítají za běhu pomocí reflexe, editor XAML je vždy nedokáže zachytit a sestavení bude i nadále úspěšné. K selhání dochází pouze za běhu.
Datové vazby XAML jsou vysvětlené v těchto článcích:
- Pro WPF: přehled datových vazeb – WPF .NET
- Pro UPW: přehled datových vazeb – aplikace pro UPW
- Pro Xamarin.Forms: Xamarin.Forms Data Binding – Xamarin
- Pro .NET MAUI: Datové Vazby .NET MAUI
Chyby vazby se vždy zapisovaly do okna výstupu ladění ve Visual Studiu. V rámci výstupu ladění je ale snadné přehlédnout chyby vazby, protože obsahuje další informace o ladění, které posouvají chyby vazeb mimo dosah zobrazení. Tady je příklad selhání vazby WPF v okně výstupu ladění:
Selhání vazby může být stovky řádků mimo horní část okna a text vám přesně neřekne, která vazba měla chybu, takže se o ní musíte zamyslet a hledat.
V okně nástroje Selhání vazeb XAML teď můžete jasně zjistit, které vazby selhaly, spolu s relevantními daty pro každé selhání, jako je umístění souboru v rámci XAML. Navíc existuje mnoho užitečných funkcí pro zkoumání selhání vyhledáváním, řazením a otevřením editoru XAML s fokusem nastaveným na neúspěšnou vazbu.
Poklikáním na tyto řádky otevřete zdrojový kód XAML pro vazbu, jak je znázorněno na následujícím obrázku:
Nástrojové okno pro selhání vazeb XAML
Během ladění je k dispozici okno nástroje pro selhání vazeb XAML. Pokud ho chcete otevřít, přejděte na Ladění>Windows>Selhání vazby XAML.
Nebo na panelu nástrojů aplikace vyberte tlačítko Chyba vazby. Číslo vedle ikony ukazuje, kolik selhání vazeb se zobrazí v okně nástroje.
Pokud v okně nástroje nejsou žádné chyby vazby, ikona se zobrazí jako šedá bez čísla vedle něj. To je užitečné při spouštění aplikace. Pokud se ikona zobrazí červeně s číslem, kliknutím na ni rychle přejdete do okna nástroje a zjistíte, k jakým chybám vazby došlo. Není nutné sledovat okna nástrojů sady Visual Studio. Když vazba selže, ikona vám hned řekne.
Podobná ikona se také zobrazí v okně nástroje Live Visual Tree.
Následuje popis všech komponent okna nástroje Selhání vazeb XAML.
- Panel nástrojů v horní části obsahuje tlačítka následujícím způsobem:
- Vymazat seznam selhání: To je užitečné, pokud se chystáte zobrazit novou stránku v aplikaci a chcete zjistit, jestli se zobrazí nějaké chyby vazeb. Když spustíte novou relaci ladění, seznam se automaticky vymaže.
- Odstranit vybrané řádky: Pokud došlo k chybě nebo není relevantní, můžete je ze seznamu odstranit. Odstraněné řádky se znovu zobrazí, pokud se vazba znovu nezdaří.
- Vymazat všechny filtry: Pokud jsou v seznamu nějaké filtry, například hledání textu, tlačítko je vymaže a zobrazí úplný seznam.
- Kombinování duplicit: Často stejný vazební mechanismus selže mnohokrát za sebou, když se nachází v šabloně položky. Když je vybráno tlačítko Zkombinovat duplicity (s obrysem kolem něj), zobrazí se duplicitní selhání v jediném řádku. Sloupec Počet zobrazí, kolikrát došlo k chybě.
- Pole Selhání vyhledávací vazby v horním rohu umožňuje filtrovat chyby jenom na ty, které obsahují konkrétní text.
- Sloupce tabulky v pořadí zobrazují:
- Ikona, která ukazuje, zda je řádek pro chybu nebo varování.
- Ikona zobrazující úhlové závorky
<>
, pokud se podporuje přechod na neúspěšné{Binding}
v XAML. Viz část Podporované platformy. -
kontext dat: Toto je název typu zdrojového objektu vazby.
- Viz Binding.Source
-
Cesta Vazby: Toto je cesta vlastnosti pro vazbu.
- Viz Binding.Path
- Cíl: Toto je název typu a vlastnosti, kam bude nastavena hodnota vazby.
- typ cíle: Jedná se o očekávaný typ cílové vlastnosti vazby.
- Popis: Tento sloupec obsahuje další informace o tom, co přesně selhalo pro vazbu.
- , na řádkua v projektu: Pokud je známo, jedná se o umístění v jazyce XAML, kde je definována vazba.
- Po kliknutí pravým tlačítkem myši na řádek nebo více vybraných řádků se zobrazí místní nabídka se standardními možnostmi pro zobrazení nebo skrytí sloupců nebo seskupení. Další možnosti jsou následující:
- Zkopírujte veškerý text z řádku nebo jenom jednoho sloupce do schránky.
- Příkaz "Kopírovat původní chybu" zkopíruje text, který se zobrazil v okně výstupu ladění.
- Zobrazit zdroj zaměří se na zdroj vazby v XAML pro vybraný řádek.
- Resetování sloupců vrátí zpět všechny změny viditelnosti a řazení sloupců, takže se rychle vrátíte k původnímu zobrazení.
Pokud chcete seznam seřadit, klikněte na libovolné záhlaví sloupce. Pokud chcete řadit znovu podle sloupce navíc, podržte klávesu Shift a klikněte na jiné záhlaví sloupce. Pokud chcete vybrat, které sloupce se zobrazí a které jsou skryté, zvolte Zobrazit sloupce z místní nabídky. Pokud chcete změnit pořadí zobrazení sloupců, přetáhněte libovolné záhlaví sloupce doleva nebo doprava.
Když dvakrát kliknete na řádek nebo stisknete klávesu Enter na navigaci ke zdroji, můžete stisknutím klávesy F8 nebo Shift+F8 procházet seznamem chyb vazeb. To je podobné ostatním podoknům ve Visual Studio, které zobrazují seznam.
Podporované platformy
Většina platforem XAML je podporována, pokud jsou chyby vazeb zapisovány do výstupu pro ladění. Některé platformy poskytují ladicímu programu další informace o zdroji, které umožňují přejít ke zdroji.
platformy | podporované | Přejít na podporovaný zdroj |
---|---|---|
WPF .NET Framework | Ano | Ne |
WPF .NET 5.0 RC2+ | Ano | Ano |
UPW | Ano | Ne |
desktopové WinUI3 | Ano | Ne |
MAUI (uživatelské rozhraní multiplatformních aplikací) | Ano | Ne |
Xamarin 4.5.0.266-pre3+ | Ano | Ano |
Xamarin před 4.5.0.266-pre3 | Ne | Ne |
V sadě Visual Studio musí být povolena možnost XAML Hot Reload, aby bylo možné přejít ke zdroji. Tato možnost je v dialogovém okně Nástroje>Možnosti>Ladění:
Přechod na zdroj funguje jenom pro vazby definované ve zdrojových souborech XAML, ne v případě, že se vytvářejí prostřednictvím kódu. Jasně vidíte, které řádky podporují navigaci do zdroje. Pokud ve druhém sloupci není žádná ikona úhlové závorky, není podporovaná navigace ke zdroji, například se zvýrazněným řádkem na následujícím snímku obrazovky:
V případě WPF v rozhraní .NET Framework musí být chyby datových vazeb zobrazeny ve výstupu ladění, aby je podokno Selhání vazeb XAML mohlo rozpoznat a zobrazit. Možnost je v Nástroje>Možnosti>Ladění>Výstupní okno>Nastavení trasování WPF dialogu. Pokud je nastavení buď vypnuto, nebo kritické, chyby datových vazeb se do výstupu ladění nezapisují a nedají se rozpoznat. U WPF v .NET 5, .NET 6 a pozdějších verzích nastavení výstupu datové vazby neovlivňuje seznam selhání.