Açılır Pencereye Genel Bakış
Denetim, belirtilen öğe veya ekran koordinatı ile ilgili olarak geçerli uygulama penceresi üzerinde kayan ayrı bir pencerede Popup içerik görüntülemenin bir yolunu sağlar. Bu konu, denetimi Popup tanıtıyor ve kullanımı hakkında bilgi sağlar.
Açılan Pencere Nedir?
Denetim, Popup içeriği ekranda bir öğeye veya noktaya göre ayrı bir pencerede görüntüler. görünür Popup olduğunda özelliği IsOpen olarak true ayarlanır.
Not
Fare Popup işaretçisi üst nesnesinin üzerine geldiğinde bir otomatik olarak açılmaz. otomatik olarak açmak Popup için veya ToolTip sınıfını ToolTipService kullanın. Daha fazla bilgi için bkz. ToolTip'e Genel Bakış.
Açılan Pencere Oluşturma
Aşağıdaki örnekte, bir denetimin alt Popup öğesi olan bir denetimin nasıl tanımladığınız ToggleButton gösterir. bir ToggleButton öğesi yalnızca bir alt öğeye sahip olduğundan, bu örnek ve ToggleButton denetimlerinin Popup metnini bir öğesine yer StackPanel verir. İçeriği, Popup ilgili denetimin yakınındaki uygulama penceresi üzerinde kayan ayrı bir pencerede ToggleButton 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çılan Pencere Uygulayan Denetimler
Denetimleri diğer Popup denetimler içinde de derlemek için abilirsiniz. Aşağıdaki denetimler belirli Popup kullanımlar için denetimi kullanır:
ToolTip. Bir öğe için araç ipucu oluşturmak için ve ToolTip sınıflarını ToolTipService kullanın. Daha fazla bilgi için bkz. ToolTip'e Genel Bakış.
ContextMenu. Bir öğe için bağlam menüsü oluşturmak için denetimi ContextMenu kullanın. Daha fazla bilgi için bkz. ContextMenu'ya Genel Bakış.
ComboBox. Gösterilen veya gizlenen bir açılan liste kutusu olan bir seçim denetimi oluşturmak için denetimi ComboBox kullanın.
Expander. İçeriği görüntüleyen daraltılabilir bir alana sahip üst bilgi görüntüleyen bir denetim oluşturmak için denetimi Expander kullanın. Daha fazla bilgi için bkz. Genişleticiye Genel Bakış.
Açılan Davranış ve Görünüm
Denetim, Popup davranışını ve görünümünü özelleştirmenize olanak sağlayan işlevler sağlar. Örneğin açık ve kapalı davranışı, animasyonu, opaklığı ve bit eşlem etkilerini, boyut ve konumu Popup da kullanabilirsiniz.
Açma ve Kapatma Davranışı
Denetim, Popup özelliği olarak IsOpen ayarlanırken içeriğini true görüntüler. Varsayılan olarak, Popup özelliği olarak IsOpen ayarlanana kadar açık false kalır. Ancak, özelliğini olarak ayarerek varsayılan davranışı StaysOpen false değiştirebilirsiniz. Bu özelliği olarak false ayarsanız, Popup içerik penceresinde fare yakalaması olur. Fare Popup yakalamayı kaybeder ve pencere dışında bir fare olayı oluştuğunda pencere Popup kapanır.
İçerik Opened Closed penceresi açık veya kapalı olduğunda ve olayları Popup ortaya çıkar.
Animasyon
Denetim, genellikle soldurma ve kayan kayan gibi davranışlarla ilişkili Popup animasyonlar için yerleşik destek sağlar. özelliğini bir numaralama değerine PopupAnimation ayarerek bu PopupAnimation animasyonları açabilirsiniz. Animasyonların Popup düzgün çalışması için özelliğini olarak AllowsTransparency ayarlayabilirsiniz. true
Denetime gibi animasyonlar Storyboard da Popup uygulayabilirsiniz.
Opaklık ve Bit Eşlem Etkileri
Denetimin Opacity Popup özelliği, içeriği üzerinde hiçbir etkisi yoktur. Varsayılan olarak içerik Popup penceresi opaktır. Saydam bir oluşturmak Popup için özelliğini AllowsTransparency olarak true ayarlayın.
bir içeriğinin içeriği, doğrudan denetimde veya üst penceredeki başka bir öğede ayarmış olduğu gibi bit Popup DropShadowBitmapEffect Popup eşlem etkilerini devralmaz. Bit eşlem etkilerinin bir içeriğinin üzerinde görünmesi Popup için, bit eşlem etkisini doğrudan içeriğine ayarlamalısiniz. Örneğin, alt öğesinin bir Popup ise StackPanel bit eşlem etkisini üzerinde StackPanel ayarlayın.
Açılan Pencere Boyutu
Varsayılan olarak , Popup içeriğine otomatik olarak boyutlandırılır. Otomatik boyutlandırma oluştuğunda, içerik için tanımlanan ekran alanı varsayılan boyutu bit eşlem etkilerinin görüntülensin diye yeterli alan sağlamay olduğundan bazı bit eşlem Popup etkileri gizlenir.
Popup İçerikte bir ayarlayan içerikler de RenderTransform belirsiz olabilir. Bu senaryoda, dönüştürülen içeriğin içeriği özgün alanı ötesine genişletirse bazı Popup içerikler Popup gizlenir. Bit eşlem etkisi veya dönüştürme daha fazla alan gerektiriyorsa, denetim için daha fazla alan sağlamak üzere içeriğin Popup çevresinde bir kenar boşluğu tanımlayabilirsiniz.
Açılan Konumu Tanımlama
, , , ve özelliklerini ayarerek bir PlacementTarget PlacementRectangle açılır Placement HorizontalOffset pencereyi VerticalOffsetProperty konumabilirsiniz. Daha fazla bilgi için bkz. Açılan Yerleştirme Davranışı. Ekranda Popup görüntülendiğinde, üst öğe yeniden konumlandırıldı ise kendisini yeniden konumlandırmaz.
Açılan Pencere Yerleşimini Özelleştirme
Bir denetimin yerleşimini özelleştirmek için, görünmesini istediğiniz yere göre bir Popup PlacementTarget koordinat kümesi Popup belirtebilirsiniz.
Yerleştirmeyi özelleştirmek için özelliğini Placement olarak Custom ayarlayın. Ardından, için bir dizi olası yerleştirme noktası ve birincil CustomPopupPlacementCallback eksen (tercih sırasına göre) döndüren bir temsilci Popup tanımlayın. en büyük bölümünü gösteren nokta Popup otomatik olarak seçilir. Bir örnek için, bkz. Specify a Custom Popup Position.
Açılan pencere ve Görsel Ağaç
Bir denetimin kendi görsel ağacı yok; bunun yerine yöntemi çağrıldı olduğunda Popup 0 (sıfır) MeasureOverride Popup boyutu döndürür. Ancak, özelliğini olarak IsOpen ayar her zaman kendi görsel Popup true ağacına sahip yeni bir pencere oluşturulur. Yeni pencere içeriğini Child 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 mantıksal alt Child dosya olarak bir başvuru sağlar. Yeni pencere oluşturulduğunda, Popup içeriğinin içeriği pencerenin görsel altı olur ve mantıksal alt olarak Popup kalır. Buna karşılık, Popup içeriğinin mantıksal üst öğesi Child kalır.