Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A hivatkozások az alkalmazás egy másik részére, egy másik alkalmazásra navigálnak a felhasználóra, vagy egy adott egységes erőforrás-azonosítót (URI) indítanak el egy külön böngészőalkalmazás használatával. Az XAML-alkalmazásokhoz kétféleképpen adhat hozzá hivatkozást: a Hivatkozás szövegelem és a HyperlinkButton vezérlőelem.
Ez a megfelelő vezérlő?
Hivatkozást használjon, ha olyan szövegre van szüksége, amely reagál a megnyomott szövegre, és a felhasználót további információkhoz navigálja, amelyek a szövegre vonatkoznak.
Válassza ki az igényeinek megfelelő hivatkozástípust:
- Beágyazott Hivatkozás szövegelem használata egy szövegvezérlőn belül. A Hiperhivatkozás elem más szöveges elemekkel együtt halad, és bármely InlineCollectionben használhatja. Használjon szöveges hivatkozást, ha automatikus szövegburkolást szeretne, és nem feltétlenül van szüksége nagy találati célra. A hivatkozás szövege lehet kicsi és nehezen célzható, különösen érintés esetén.
- Önálló hivatkozásokhoz használja a HyperlinkButton parancsot. A HyperlinkButton egy speciális gombvezérlő, amelyet bárhol használhat, ahol gombot használna.
- Használjon egy HyperlinkButton-t, amelynek a tartalma egy Kép, hogy kattintható képet hozzon létre.
Recommendations
- Csak hivatkozások használata navigációhoz; ne használja őket más műveletekhez.
- Szövegalapú hivatkozásokhoz használja a Szövegtörzs stílust a típusrámpából. Olvasson a betűtípusokról és a Windows betűméret lépcsőzetes elrendezéséről.
- Tartsa elég távol egymástól a különálló hivatkozásokat, hogy a felhasználó különbséget tegyen közöttük, és könnyen kiválaszthatja őket.
- Adjon hozzá elemleírásokat azokhoz a hivatkozásokhoz, amelyek jelzik a felhasználó irányításának helyét. Ha a felhasználó egy külső webhelyre lesz irányítva, adja meg a legfelső szintű tartománynevet az elemleírásban, és formázze a szöveget másodlagos betűszínnel.
Hivatkozás szövegelemének létrehozása
- Fontos API-k: Hivatkozás szövegeleme
Ez a példa bemutatja, hogyan használható a Hivatkozás szövegelem egy TextBlock.
<StackPanel Width="200">
<TextBlock Text="Privacy" Style="{StaticResource SubheaderTextBlockStyle}"/>
<TextBlock TextWrapping="WrapWholeWords">
<Span xml:space="preserve"><Run>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Read the </Run><Hyperlink NavigateUri="http://www.contoso.com">Contoso Privacy Statement</Hyperlink><Run> in your browser.</Run> Donec pharetra, enim sit amet mattis tincidunt, felis nisi semper lectus, vel porta diam nisi in augue.</Span>
</TextBlock>
</StackPanel>
A hivatkozás beágyazottan jelenik meg, és a környező szöveggel halad:
Jótanács
Ha egy szövegvezérlőben hiperhivatkozást használ az XAML más szövegelemeivel, helyezze a tartalmat egy Span tárolóba, és alkalmazza az xml:space="preserve" attribútumot a Spanre, hogy a Hivatkozás és más elemek között ne legyen üres térköz.
Hivatkozásgomb létrehozása
- Fontos API-k: HyperlinkButton vezérlőelem
![]()
A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.
Így használhatja a HyperlinkButtont szöveggel és képpel is.
<StackPanel>
<TextBlock Text="About" Style="{StaticResource TitleTextBlockStyle}"/>
<HyperlinkButton NavigateUri="http://www.contoso.com">
<Image Source="Assets/ContosoLogo.png"/>
</HyperlinkButton>
<TextBlock Text="Version: 1.0.0001" Style="{StaticResource CaptionTextBlockStyle}"/>
<HyperlinkButton Content="Contoso.com" NavigateUri="http://www.contoso.com"/>
<HyperlinkButton Content="Acknowledgments" NavigateUri="http://www.contoso.com"/>
<HyperlinkButton Content="Help" NavigateUri="http://www.contoso.com"/>
</StackPanel>
A szöveges tartalmú hivatkozásgombok megjelölt szövegként jelennek meg. A Contoso embléma képe szintén kattintható hivatkozás:
Ez a példa bemutatja, hogyan hozhat létre HyperlinkButtont a kódban.
HyperlinkButton helpLinkButton = new HyperlinkButton();
helpLinkButton.Content = "Help";
helpLinkButton.NavigateUri = new Uri("http://www.contoso.com");
Navigáció kezelése
Mindkét típusú hivatkozás esetében ugyanúgy kezelheti a navigációt; beállíthatja a NavigateUri tulajdonságot, vagy kezelheti a Click eseményt.
Navigáljon egy URI-ra
Ha a hivatkozással URI-ra szeretne navigálni, állítsa be a NavigateUri tulajdonságot. Amikor egy felhasználó a hivatkozásra kattint vagy koppint, a megadott URI megnyílik az alapértelmezett böngészőben. Az alapértelmezett böngésző az alkalmazástól eltérő módon fut.
Megjegyzés:
Az URI-t a Windows.Foundation.Uri osztály képviseli. Ha .NET programozást használ, ez az osztály rejtett, és a System.Uri osztályt kell használnia. További információkért tekintse meg az osztályok referenciaoldalait.
Nem kell http: vagy https: sémákat használnia. Használhat olyan sémákat, mint az ms-appx:, ms-appdata:, vagy ms-resources:, ha ezeken a helyeken található erőforrástartalom megfelelő a böngészőbe való betöltéséhez. A fájl: séma azonban kifejezetten le van tiltva. További információ: URI-sémák.
Amikor egy felhasználó a hivatkozásra kattint, a NavigateUri tulajdonság értéke átadódik egy rendszerkezelőnek az URI-típusok és sémák esetében. A rendszer ezután elindítja a NavigateUri-hoz biztosított URI sémájához regisztrált alkalmazást.
Ha nem szeretné, hogy a hivatkozás betöltse a tartalmat egy alapértelmezett webböngészőben (és nem szeretné, hogy megjelenjen egy böngésző), akkor ne állítson be értéket a NavigateUri számára. Ehelyett kezelje a Click eseményt, és írjon olyan kódot, amely a kívánt módon működik.
A Kattintás esemény kezelése
Használja a Click eseményt az URI böngészőben való elindításától eltérő műveletekhez, például az alkalmazáson belüli navigációhoz. Ha például egy böngésző megnyitása helyett egy új alkalmazáslapot szeretne betölteni, hívja meg a Frame.Navigate metódust a Click eseménykezelőben az új alkalmazáslapra való navigáláshoz. Ha azt szeretné, hogy egy külső, abszolút URI betöltődjön egy, az alkalmazásban is létező WebView vezérlőbe, hívja meg a WebView.Navigate metódust a Click handler logika részeként.
Általában nem kezeli a Click eseményt, és nem ad meg NavigateUri értéket, mivel ezek a hivatkozáselem használatának két különböző módját jelölik. Ha a szándéka az, hogy az alapértelmezett böngészőben nyissa meg az URI-t, és megadott egy értéket a NavigateUri számára, ne kezelje a Click eseményt. Ezzel szemben, ha a Click eseményt kezeli, ne adjon meg NavigateUri-t.
A Click eseménykezelőben semmit sem tehet annak érdekében, hogy az alapértelmezett böngésző betöltse a NavigateUri-hoz megadott érvényes célokat; a művelet automatikusan (aszinkron módon) történik, amikor a hivatkozás aktiválva van, és nem törölhető a Click eseménykezelőből.
Hivatkozás aláhúzása
Alapértelmezés szerint a hivatkozások alá vannak aláhúzva. Ez az aláhúzás azért fontos, mert segít megfelelni az akadálymentességi követelményeknek. A színvak felhasználók az aláhúzással különböztetik meg a hivatkozásokat és más szövegeket. Ha letiltja az aláhúzásokat, érdemes lehet más típusú formázási különbséget hozzáadnia, hogy megkülönböztesse a hivatkozásokat más szövegektől, például a FontWeighttól vagy a FontStyle-tól.
Hivatkozás szöveges elemei
Az Aláhúzásstílus tulajdonság beállításával letilthatja az aláhúzást. Ha igen, fontolja meg a FontWeight vagy a FontStyle használatát a hivatkozás szövegének megkülönböztetéséhez.
Hiperhivatkozás gomb
Alapértelmezés szerint a HyperlinkButton aláhúzott szövegként jelenik meg, amikor egy sztringet állít be a Content tulajdonság értékeként.
A szöveg nem jelenik meg aláhúzva a következő esetekben:
- Beállítasz egy TextBlock elemet a Content tulajdonság értékeként, majd beállítod a TextBlock Text tulajdonságát.
- Újrasablonozhatja a HyperlinkButtont, és módosíthatja a ContentPresenter sablonrész nevét.
Ha olyan gombra van szüksége, amely nem aláhúzott szövegként jelenik meg, fontolja meg egy szabványos gombvezérlő használatát, és alkalmazza a beépített TextBlockButtonStyle rendszererőforrást a Style tulajdonságra.
Hivatkozások szövegelemének megjegyzései
Ez a szakasz csak a Hivatkozás szövegelemre vonatkozik, a HyperlinkButton vezérlőelemre nem.
Bemeneti események
Mivel a hiperhivatkozások nem UIElement, nem rendelkeznek olyan felhasználói felület bevitel események készlettel, mint például a Koppintott, a PointerPressed stb. Ehelyett a hiperhivatkozásnak saját Click-eseménye van, valamint a rendszer implicit viselkedése, amely betölti a NavigateUri-ként megadott URI-t. A rendszer kezeli az összes olyan bemeneti műveletet, amely meghívja a Hiperhivatkozás műveleteket, és válaszként elindítja a Kattintás eseményt.
Content
A hivatkozás korlátozásokat tartalmaz a Inlines gyűjteményében található tartalomra. A hiperhivatkozások csak Run és más Span típusokat engedélyeznek, amelyek nem másik hiperhivatkozások. InlineUIContainer nem szerepelhet a Hyperlink Inlines gyűjteményében. A korlátozott tartalom hozzáadásának megkísérlése érvénytelen argumentumkivételt vagy XAML-elemzési kivételt eredményez.
Hivatkozás és téma/stílus viselkedése
A hivatkozás nem öröklődik Vezérlő, így nem rendelkezik a stílus tulajdonsággal vagy a sablon. A TextElementtől örökölt tulajdonságokat, mint például az Előtér vagy a FontFamily, szerkesztheti a hivatkozás megjelenésének megváltoztatásához, de a változtatásokat nem lehet közös stílussal vagy sablonnal alkalmazni. Sablon használata helyett fontolja meg a hivatkozástulajdonságok értékeinek gyakori erőforrásainak használatát a konzisztencia biztosításához. A Hiperhivatkozás egyes tulajdonságai a rendszer által biztosított {ThemeResource} jelölőbővítmény-érték alapértelmezett értékeit használják. Ez lehetővé teszi, hogy a Hiperhivatkozás megjelenése megfelelő módon váltson, amikor a felhasználó futásidőben módosítja a rendszertémát.
A hivatkozás alapértelmezett színe a rendszer jelölőszíne. A Előtér tulajdonságot úgy állíthatja be, hogy felülbírálja ezt.
Kapcsolódó cikkek
Windows developer