Aracılığıyla paylaş


Hyperlinks

Köprüler, kullanıcıyı uygulamanın başka bir bölümüne, başka bir uygulamaya veya ayrı bir tarayıcı uygulaması kullanarak belirli bir tekdüzen kaynak tanımlayıcısını (URI) başlatır. XAML uygulamasına köprü eklemenin iki yolu vardır: Köprü metin öğesi ve HyperlinkButton denetimi.

Köprü düğmesi

Doğru kontrol bu mu?

Basıldığında yanıt veren ve kullanıcıyı tıklanan metin hakkında daha fazla bilgiye yönlendiren bir metne ihtiyacınız olduğunda köprü kullanın.

gereksinimlerinize göre doğru köprü türünü seçin:

  • Metin denetiminin içinde satır içi Köprü metin öğesi kullanın. Köprü öğesi diğer metin öğeleriyle birlikte akar ve bunu herhangi bir InlineCollection içinde kullanabilirsiniz. Otomatik metin kaydırma istiyorsanız ve büyük bir isabet hedefine ihtiyaç duymuyorsanız metin bağlantısı kullanın. Hiperlink metni küçük olabilir ve özellikle dokunmatik ekranlar için hedef almak zor olabilir.
  • Tek başına köprüler için HyperlinkButton kullanın. KöprüDüğmesi, Düğme kullanmak istediğiniz her yerde kullanabileceğiniz özel bir Düğme denetimidir.
  • tıklanabilir bir görüntü oluşturmak için içeriği Görüntü olan bir HyperlinkButton kullanın.

Recommendations

  • Yalnızca gezinti için köprüler kullanın; bunları diğer eylemler için kullanmayın.
  • Metin tabanlı köprüler için stil rampasından Gövde Stilini kullanın. Yazı tipleri ve Windows türü rampası hakkında bilgi edinin.
  • Ayrık köprüleri birbirinden yeterince uzak tutun, böylece kullanıcı aralarında ayrım yapabilir ve her birini kolayca seçebilir.
  • Kullanıcının nereye yönlendirileceğini gösteren köprülere araç ipuçları ekleyin. Kullanıcı bir dış siteye yönlendirilecekse, araç ipucunun içine üst düzey etki alanı adını ekleyin ve metni ikincil yazı tipi rengiyle şekillendirin.

Bu örnek, bir TextBlockiçinde metin öğesi içinde köprü kullanmanın nasıl olduğunu göstermektedir.

<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>

Köprü satır içinde görünür ve çevresindeki metinle birlikte akar:

Metin öğesi olarak köprü örneği

İpucu

XAML'deki diğer metin öğeleriyle bir metin denetiminde Köprü kullandığınızda, içeriği Span kapsayıcısına yerleştirin ve Köprü ile diğer öğeler arasındaki boşluğu korumak için Span'a xml:space="preserve" özniteliğini uygulayın.

Köprü OluşturmaDüğmesi

WinUI 3 Galeri uygulaması çoğu WinUI 3 denetimi, özelliği ve işlevselliğine ilişkin etkileşimli örnekler içerir. Uygulamayı Microsoft Store'dan alın veya GitHub'dan kaynak kodunu alın

İşte KöprüDüğmesi'ni hem metinle hem de resimle nasıl kullanacağınıza dair bir rehber.

<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>

Metin içeriğine sahip köprü düğmeleri, işaretlenmiş metin olarak görünür. Contoso logo resmi de tıklanabilir bir köprüdür:

Düğme denetimi olarak köprü örneği

Bu örnekte kodda HyperlinkButton oluşturma gösterilmektedir.

HyperlinkButton helpLinkButton = new HyperlinkButton();
helpLinkButton.Content = "Help";
helpLinkButton.NavigateUri = new Uri("http://www.contoso.com");

Gezintiyi yönetme

Her iki köprü türü için de gezintiyi aynı şekilde işlersiniz; NavigateUri özelliğini ayarlayabilir veya Click olayını işleyebilirsiniz.

URI'ye gitmek için köprü bağlantısını kullanarak NavigateUri özelliğini ayarlayın. Kullanıcı köprüye tıkladığında veya dokunduğunda, belirtilen URI varsayılan tarayıcıda açılır. Varsayılan tarayıcı, uygulamanızdan ayrı bir işlemde çalışır.

Uyarı

URI, Windows.Foundation.Uri sınıfı tarafından temsil edilir. .NET ile programlama yaparken bu sınıf gizlenir ve System.Uri sınıfını kullanmanız gerekir. Daha fazla bilgi için bu sınıfların başvuru sayfalarına bakın.

http: veya https: düzenlerini kullanmanız gerekmez. Bu konumlarda tarayıcıya yüklemeye uygun kaynak içeriği varsa ms-appx:, ms-appdata:veya ms-resources: gibi düzenleri kullanabilirsiniz. Ancak, dosyası: düzeni özel olarak engellenir. Daha fazla bilgi için bkz. URI düzenleri.

Kullanıcı köprüye tıkladığında NavigateUri özelliğinin değeri URI türleri ve düzenleri için bir sistem işleyicisine geçirilir. Sistem daha sonra NavigateUri için sağlanan URI şeması için kayıtlı uygulamayı başlatır.

Bağlantı üzerinden varsayılan bir web tarayıcısında içerik yüklenmesini istemiyorsanız (ve tarayıcının görünmesini istemiyorsanız), NavigateUri için bir değer ayarlamayın. Bunun yerine Click olayını işleyip istediğiniz işlemi yerine getiren kodlar yazın.

Click olayını işleme

Uygulamada gezinme gibi bir tarayıcıda URI başlatma dışındaki eylemler için Click olayını kullanın. Örneğin, tarayıcı açmak yerine yeni bir uygulama sayfası yüklemek istiyorsanız, yeni uygulama sayfasına gitmek için Click olay işleyicinizde bir Frame.Navigate yöntemini çağırın. Dış, mutlak bir URI'nin uygulamanızda da bulunan bir WebView denetimi içinde yüklenmesini istiyorsanız, Tıklama işleyici mantığınızın bir parçası olarak WebView.Navigate'u çağırın.

Genellikle Click olayını işlemez ve NavigateUri değeri belirtmezsiniz çünkü bunlar köprü öğesini kullanmanın iki farklı yolunu temsil ediyor. Amacınız URI'yi varsayılan tarayıcıda açmaksa ve NavigateUri için bir değer belirttiyseniz Click olayını işlemeyin. Tam tersine, Click olayını işlemeniz durumunda NavigateUri belirtmeyin.

Varsayılan tarayıcının NavigateUri için belirtilen geçerli bir hedefi yüklemesini önlemek için Click olay işleyicisi içinde yapabileceğiniz hiçbir şey yoktur; köprü etkinleştirildiğinde ve Click olay işleyicisi içinden iptal edilemiyorsa bu eylem otomatik olarak gerçekleşir (zaman uyumsuz olarak).

Varsayılan olarak, köprülerin altı çizilidir. Bu alt çizgi, erişilebilirlik gereksinimlerini karşılamaya yardımcı olduğundan önemlidir. Renk körlüğü olan kullanıcılar köprüleri ve diğer metinleri ayırt etmek için alt çizgi kullanır. Alt çizgileri devre dışı bırakırsanız, köprüleri FontWeight veya FontStyle gibi diğer metinlerden ayırmak için başka tür biçimlendirme farkları eklemeyi düşünmelisiniz.

Alt çizgiyi devre dışı bırakmak için UnderlineStyle özelliğini ayarlayabilirsiniz. Kullanıyorsanız, bağlantı metninizi ayırt etmek için FontWeight veya FontStyle kullanmayı göz önünde bulundurun.

Bağlantı Düğmesi

Varsayılan olarak, Content özelliğinin değeri olarak bir dize ayarladığınızda HyperlinkButton altı çizili metin olarak görünür.

Aşağıdaki durumlarda metin altı çizili olarak gösterilmez:

  • content özelliğine değer olarak bir TextBlock ayarlarsınız ve ardından TextBlock'ta Text özelliğini ayarlarsınız.
  • HyperlinkButton öğesini yeniden şablona alır ve ContentPresenter şablon bölümünün adını değiştirirsiniz.

Altı çizili olmayan metin olarak görünen bir düğmeye ihtiyacınız varsa, standart bir Düğme denetimi kullanmayı ve yerleşik TextBlockButtonStyle sistem kaynağını Style özelliğine uygulamayı göz önünde bulundurun.

Bu bölüm Yalnızca Köprü metin öğesi için geçerlidir, HyperlinkButton denetimi için geçerli değildir.

Giriş olayları

Köprü bir UIElementolmadığından, Tapped, PointerPressed gibi ui öğesi giriş olayları kümesine sahip değildir. Bunun yerine, köprü kendi Click olayına ek olarak, NavigateUri olarak belirtilen herhangi bir URI'yi yükleyen sistemin otomatik davranışına sahiptir. Sistem, Köprü eylemlerini çağırması gereken tüm giriş eylemlerini işler ve yanıt olarak Click olayını başlatır.

Content

Köprü, Satır İçi Öğeler koleksiyonunda bulunabilecek içerik üzerinde kısıtlamalara sahiptir. Özellikle, Köprü yalnızca Çalıştırma ve başka bir Köprü olmayan diğer Span türlerine izin verir. InlineUIContainer Köprü'ün Satır içi koleksiyonunda olamaz. Kısıtlanmış içerik eklemeye çalışılması, geçersiz bir bağımsız değişken özel durumu veya XAML ayrıştırma özel durumunun oluşmasına neden olur.

Köprü, Denetimi'ndan devralmadığından, Style özelliği veya Şablonuyoktur. Bir köprünün görünümünü değiştirmek için Ön plan veya FontFamily gibi TextElement'den devralınan özellikleri düzenleyebilirsiniz, ancak değişiklikleri uygulamak için yaygın bir stil veya şablon kullanamazsınız. Şablon kullanmak yerine tutarlılık sağlamak için Köprü özelliklerinin değerleri için ortak kaynakları kullanmayı göz önünde bulundurun. Köprü'ün bazı özellikleri, sistem tarafından sağlanan {ThemeResource} işaretleme uzantısı değerindeki varsayılan değerleri kullanır. Bu, kullanıcı çalışma zamanında sistem temasını değiştirdiğinde köprü görünümünün uygun şekilde değişmesine olanak tanır.

Varsayılan köprü rengi, sistemin vurgu rengidir. Bunu geçersiz kılmak için Foreground özelliğini ayarlayabilirsiniz.

UWP ve WinUI 2

Önemli

Bu makaledeki bilgiler ve örnekler, Windows Uygulama SDK'sı ve WinUI 3kullanan uygulamalar için iyileştirilmiştir, ancak genellikle WinUI 2kullanan UWP uygulamaları için geçerlidir. Platforma özgü bilgiler ve örnekler için UWP API başvurusuna bakın.

Bu bölüm, denetimi bir UWP veya WinUI 2 uygulamasında kullanmak için ihtiyacınız olan bilgileri içerir.

Bu denetimin API'leri Windows.UI.Xaml.Controls ad alanında bulunur.