Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Denetim, Popup içeriği belirlenen bir öğeye veya ekran koordinatına göre geçerli uygulama penceresi üzerinde kayan ayrı bir pencerede görüntülemenin bir yolunu sağlar.
Aşağıdaki çizim, bir Popup denetiminin kendi üst öğesi olan Button denetimine göre nasıl konumlandırıldığını göstermektedir.
Aşağıdaki tabloda, Açılan pencere denetimiyle çalışmaya yönelik yaygın görevler listelenmiştir:
| Başlık | Description |
|---|---|
| Açılan Pencereye Animasyon Ekleme | Görsel taslakları ve animasyonları kullanarak açılır pencereye animasyon eklemeyi öğrenin. |
| Açılır Pencere Yerleştirme Davranışı | Farklı yerleştirme modları ve bir açılır pencereyi öğelere veya ekran koordinatlarına göre konumlandırma hakkında bilgi edinin. |
| Özel Açılır Pencere Konumunu Belirtme | Doğru açılır pencere konumlandırması için özel yerleştirme mantığı tanımlamayı öğrenin. |
Açılan Pencere nedir?
Denetim Popup , içeriği ekrandaki bir öğeye veya noktaya göre ayrı bir pencerede görüntüler.
Popup görünür olduğunda özelliği IsOpen olarak trueayarlanır.
Uyarı
Üst nesnenin üzerine fare işaretçisi geldiğinde, A Popup otomatik olarak açılmaz. Popup öğesini otomatik açmak istiyorsanız, ToolTip veya ToolTipService sınıfını kullanın. Daha fazla bilgi için bkz. ToolTip.
Açılan Pencere Oluşturma
Aşağıdaki örnek, denetimi bir Popup denetimin alt öğesi ToggleButton olarak tanımlar. Bir ToggleButton yalnızca bir alt öğeye sahip olabileceğinden, bu örnek ToggleButton ve Popup denetimlerinin metnini bir StackPanel öğesine yerleştirir. Açılan pencere IsOpen özelliği, düğmenin IsChecked özelliğiyle eşitlemek için veri bağlamayı kullanır. Düğmeyi seçtiğinizde açılır pencere otomatik olarak açılır veya kapanır. İçerik, düğmenin yanındaki uygulama penceresinin üzerinde kayan ayrı bir pencerede görüntülenir.
<ToggleButton x:Name="TogglePopupButton" Height="30" Width="150" HorizontalAlignment="Left">
<StackPanel>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">
<Run Text="Is button toggled? " />
<Run Text="{Binding IsChecked, ElementName=TogglePopupButton}" />
</TextBlock>
<Popup Name="myPopup" IsOpen="{Binding IsChecked, ElementName=TogglePopupButton}">
<Border BorderThickness="1">
<TextBlock Name="myPopupText" Background="LightBlue" Foreground="Blue" Padding="30">
Popup Text
</TextBlock>
</Border>
</Popup>
</StackPanel>
</ToggleButton>
Açılır pencereyi uygulayan denetimler
Bir denetimi diğer denetimlerin içine yerleştirebilirsiniz Popup . Aşağıdaki denetimler belirli kullanımlar için bir açılır pencere uygular:
ToolTip. Kullanıcılar bir öğenin üzerine geldiğinde veya odaklandığında bağlamsal yardımı göstermek için açılır pencere kullanır. Daha fazla bilgi için bkz. ToolTip.
ContextMenu. Genellikle kullanıcılar sağ tıkladığında bir öğenin komut seçeneklerini göstermek için bir açılır pencere kullanır. Daha fazla bilgi için bkz. ContextMenu.
ComboBox. Seçilebilir öğelerin açılan listesini göstermek veya gizlemek için bir açılır pencere kullanır. Daha fazla bilgi için bkz. ComboBox.
Stiller ve şablonlar
Kontrol, görünümünü özelleştirmek için kullanabileceğiniz XAML stil özellikleri sunmaktadır. Denetim, şablon bölümleri veya görsel durumlarıyla varsayılan bir şablon tanımlamaz, ancak davranışını özelleştirebilirsiniz. Daha fazla bilgi için Açılır pencere davranışı ve görünümü bölümüne bakın.
İçerik özelliği
Bu denetim, içerik özelliği olarak Child özelliğini kullanır.
Child özelliği, açılan pencerenin görüntülediği tek bir alt öğeyi temsil eder.
Parçalar
Bu denetim herhangi bir şablon parçası tanımlamaz.
Görsel durumlar
Bu denetim herhangi bir görsel durum tanımlamaz.
Açılan pencere davranışı ve görünümü
Popup denetimi, davranışını ve görünümünü özelleştirmeniz için kullanılabilecek işlevler sağlar. Örneğin, açık ve kapalı davranış, animasyon, opaklık ve bit eşlem efektleri, Popup boyut ve konum ayarlayabilirsiniz.
Açma ve kapatma davranışı
Popup denetimi, IsOpen özelliği true olarak ayarlandığında içeriğini görüntüler. Varsayılan olarak, Popup özelliği IsOpen olarak ayarlanana kadar false açık kalır. Ancak, StaysOpen özelliğini false olarak ayarlayarak varsayılan davranışı değiştirebilirsiniz. Bu özelliği false olarak ayarladığınızda Popup içerik penceresi fare yakalar. Pencerenin dışında bir fare olayı gerçekleştiğinde Popup fare yakalamayı kaybeder ve pencere kapanır.
Opened ve Closed olayları, Popup içerik penceresi açıldığında veya kapandığında tetiklenir.
Animasyon
Denetim, Popup genellikle soluk ve slayt oluşturma gibi davranışlarla ilişkili animasyonlar için yerleşik desteğe sahiptir. Bu animasyonları etkinleştirmek için PopupAnimation özelliğini bir PopupAnimation enum değerine ayarlayabilirsiniz. Animasyonların düzgün çalışması için Popup özelliğini AllowsTransparency olarak ayarlamanız gerekir.
Storyboard denetimine Popup gibi animasyonlar da uygulayabilirsiniz.
Opaklık ve bit eşlem efektleri
Denetimin OpacityPopup özelliğinin içeriği üzerinde hiçbir etkisi yoktur. Varsayılan olarak, Popup içerik penceresi donuk durumdadır. Saydam bir Popup oluşturmak için, AllowsTransparency özelliğini true olarak ayarlayın.
Popup öğesinin içeriği, DropShadowBitmapEffect, doğrudan Popup denetiminde veya üst penceredeki başka bir öğede ayarladığınız bit eşlem efektlerini devralmıyor. Bit eşlem efektlerinin içeriğinin Popupüzerinde görünmesi için bit eşlem efektini doğrudan içeriği üzerinde ayarlamanız gerekir. Örneğin, bir Popup alt öğesi bir StackPanel ise, bit eşlem efektini StackPanel üzerinde ayarlayın.
Açılan pencere boyutu
Varsayılan olarak, Popup içeriğine göre otomatik olarak boyutlanır. Otomatik boyutlandırma gerçekleştiğinde, içerik için tanımlanan ekran alanının varsayılan boyutu bit eşlem efektlerinin görüntülenmesi için Popup yeterli alan sağlamadığından bazı bit eşlem efektleri gizlenebilir.
Popup içeriğe bir RenderTransform ayarladığınızda, içerik de gizlenebilir. Bu senaryoda, dönüştürülen Popup içeriğin özgün Popupalanının ötesine genişletilmesi durumunda bazı içerikler gizlenebilir. Bit eşlem efekti veya dönüştürme daha fazla alan gerektiriyorsa, denetim için daha fazla alan sağlamak üzere içeriğin çevresinde Popup bir kenar boşluğu tanımlayabilirsiniz.
Açılır pencere konumunu tanımlama
PlacementTarget, PlacementRectangle, Placement, HorizontalOffset, ve VerticalOffsetProperty özelliklerini ayarlayarak bir açılır pencere konumlandırabilirsiniz. Daha fazla bilgi için Açılır Pencere Yerleştirme Davranışı'na bakınız. Ekranda bir Popup görüntülendiğinde, üst öğesi yeniden konumlandırıldığında kendisini yeniden konumlandırmaz.
Açılır pencere yerleşimini özelleştirme
Popup kontrolünün PlacementTarget görünmesini istediğiniz yere göre Popup konumunu belirleyen bir koordinat kümesi belirterek özelleştirebilirsiniz.
Özelleştirilmiş yerleştirme yapmak için Placement özelliğini Custom olarak ayarlayın. Ardından, CustomPopupPlacementCallback için bir dizi olası yerleştirme noktası ve birincil ekseni (tercih sırasına göre) döndüren bir Popup temsilci tanımlayın. öğesinin en büyük bölümünü Popup gösteren nokta otomatik olarak seçilir. Bir örnek için bkz. Özel Açılan Konum Belirtme.
Açılan pencere ve görsel ağaç
Denetimin Popup kendi görsel ağacı yoktur. yöntemini çağırdığınızda MeasureOverride 0 (sıfır) boyutu döndürür. Ancak, özelliğini IsOpenolarak ayarladığınızdatrue, denetim kendi görsel ağacıyla yeni bir pencere oluşturur. Yeni pencere, Child içeriğini Popup içerir. Yeni pencerenin genişliği ve yüksekliği, ekranın genişliğinin veya yüksekliğinin yüzde 75'inden büyük olamaz.
Denetim, Popup içeriğine Child mantıksal alt öğe olarak bir başvuru tutar. Denetim yeni pencereyi oluşturduğunda, Popup içeriği pencerenin görsel alt öğesi olur ve Popup'in mantıksal alt öğesi olarak kalır. Buna karşılık, Popup, Child içeriğinin mantıksal üst öğesi olarak kalır.
Ayrıca bakınız
.NET Desktop feedback