Aracılığıyla paylaş


Komut çubuğu açılır öğesi

Komut çubuğu açılır öğesi, kullanıcı arabirimi tuvalinizdeki bir öğeyle ilgili kayan araç çubuğundaki komutları göstererek kullanıcılara ortak görevlere kolay erişim sağlamanıza olanak tanır.

Genişletilmiş metin düzeltme komut çubuğu açılır menüsü

CommandBargibi CommandBarFlyout'ta da komut eklemek için kullanabileceğiniz PrimaryCommands ve SecondaryCommands özellikleri vardır. Komutları bir koleksiyona veya her iki koleksiyona yerleştirebilirsiniz. Birincil ve ikincil komutların ne zaman ve nasıl görüntüleneceği, görüntüleme moduna bağlıdır.

Komut çubuğu açılır öğesi iki görüntüleme moduna sahiptir: daraltılmış ve genişletilmiş.

  • Daraltılmış modda yalnızca birincil komutlar gösterilir. Komut çubuğu açılır öğenizde hem birincil hem de ikincil komutlar varsa, [...] üç noktayla temsil edilen bir "daha fazlasına bakın" düğmesi görüntülenir. Bu, kullanıcının genişletilmiş moda geçerek ikincil komutlara erişmesini sağlar.
  • Genişletilmiş modda hem birincil hem de ikincil komutlar gösterilir. (Denetimde yalnızca ikincil öğeler varsa, bunlar MenuFlyout denetimine benzer şekilde gösterilir.)

Doğru kontrol bu mu?

Uygulama tuvalindeki bir öğenin bağlamında, düğmeler ve menü öğeleri gibi bir komut koleksiyonunu kullanıcıya göstermek için komut çubuğu açılır menü denetimini kullanın.

Komut çubuğu açılır öğesi, bağlam menüleri oluşturmak için önerilen denetimdir. Bu, bağlam menüsünün senaryosu için bağlamsal olarak en uygun olan yaygın komutların (Kopyala, Kes, Yapıştır, Sil, Paylaş veya metin seçimi komutları gibi) birincil komutlar olarak eklenmesini sağlar; böylece komut çubuğu açılır öğesinde tek, yatay bir satır olarak gösterilirler. TextCommandBarFlyout, TextBox, TextBlock, RichEditBox, RichTextBlock ve PasswordBox denetimlerinde metin komutlarını otomatik olarak görüntülemek için zaten uygun şekilde yapılandırılmıştır. CommandBarFlyout, metin denetimlerinde varsayılan metin komutlarını değiştirmek için kullanılabilir.

Liste öğelerinde bağlamsal komutları göstermek için koleksiyonlar ve listeler için bağlamsal komut verme yönergeleriniizleyin.

Proaktif ve reaktif çağırma karşılaştırması

Genellikle kullanıcı arabirimi tuvalinizdeki bir öğeyle ilişkili açılır öğeyi veya menüyü çağırmanın iki yolu vardır: proaktif çağırma ve reaktif çağırma.

Proaktif çağrıda, kullanıcı komutların ilişkili olduğu öğeyle etkileşime geçtiğinde komutlar otomatik olarak görüntülenir. Örneğin, kullanıcı metin kutusundaki metni seçtiğinde metin biçimlendirme komutları görünebilir. Bu durumda, komut çubuğu açılır öğesi odaklanmaz. Bunun yerine, kullanıcının etkileşimde bulunduğu öğenin yakınında ilgili komutlar sunar. Kullanıcı komutlarla etkileşim kurmazsa kapatılır.

Reaktif çağırmada komutlar, komutları istemek için açık bir kullanıcı eylemine yanıt olarak gösterilir; örneğin, sağ tıklayın. Bu, geleneksel bir bağlam menüsükavramına karşılık gelir.

CommandBarFlyout'ı her iki şekilde, hatta ikisinin bir karışımında bile kullanabilirsiniz.

Komut çubuğu açılır menüsü oluşturma

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

Bu örnekte komut çubuğu açılır öğesinin nasıl oluşturulacağı ve hem proaktif hem de reaktif olarak nasıl kullanılacağı gösterilmektedir. Görüntüye dokunulduğunda açılır öğe daraltılmış modunda gösterilir. Bağlam menüsü olarak gösterildiğinde açılır öğe genişletilmiş modunda gösterilir. Her iki durumda da kullanıcı açılır menüyü açıldıktan sonra genişletebilir veya daraltabilir.

<Grid>
    <Grid.Resources>
        <CommandBarFlyout x:Name="ImageCommandsFlyout">
            <AppBarButton Label="Favorite" Icon="OutlineStar" ToolTipService.ToolTip="Favorite"/>
            <AppBarButton Label="Copy" Icon="Copy" ToolTipService.ToolTip="Copy"/>
            <AppBarButton Label="Share" Icon="Share" ToolTipService.ToolTip="Share"/>
            <CommandBarFlyout.SecondaryCommands>
                <AppBarButton Label="Rotate" Icon="Rotate"/>
                <AppBarButton Label="Delete" Icon="Delete"/>
            </CommandBarFlyout.SecondaryCommands>
        </CommandBarFlyout>
    </Grid.Resources>

    <Image Source="Assets/image1.png" Width="300"
           Tapped="Image_Tapped" 
           FlyoutBase.AttachedFlyout="{x:Bind ImageCommandsFlyout}"
           ContextFlyout="{x:Bind ImageCommandsFlyout}"/>
</Grid>
private void Image_Tapped(object sender, TappedRoutedEventArgs e)
{
    var flyout = FlyoutBase.GetAttachedFlyout((FrameworkElement)sender);
    var options = new FlyoutShowOptions()
    {
        // Position shows the flyout next to the pointer.
        // "Transient" ShowMode makes the flyout open in its collapsed state.
        Position = e.GetPosition((FrameworkElement)sender),
        ShowMode = FlyoutShowMode.Transient
    };
    flyout?.ShowAt((FrameworkElement)sender, options);
}

Aşağıda, daraltılmış durumdaki komut çubuğu açılır öğesi gösterilir.

Daraltılmış komut çubuğu açılır öğesi örneği

Genişletilmiş halindeki aynı komut çubuğu açılır menüsü, ikincil komutları gösteriyor.

Genişletilmiş açılır komut çubuğu menüsü örneği

Komutları proaktif olarak gösterme

Bağlamsal komutları proaktif olarak gösterdiğinizde, varsayılan olarak yalnızca birincil komutlar gösterilmelidir (komut çubuğu açılır öğesi daraltılmalıdır). Birincil komutlar koleksiyonuna en önemli komutları ve geleneksel olarak bir bağlam menüsünde ikincil komut koleksiyonuna gidecek ek komutları yerleştirin.

Önceden komutları göstermek için genellikle Tıklama veya Dokunma olayını işleyip komut çubuğu açılır menüsünü gösterirsiniz. Açılır menünün ShowMode değerini Transient veya TransientWithDismissOnPointerMoveAway olarak ayarlayarak, açılır öğeyi odaklanmadan daraltılmış modda açın.

Metin denetimlerinin SelectionFlyout özelliği vardır. Bu özelliğe bir açılır öğe atadığınızda, metin seçildiğinde otomatik olarak gösterilir.

Komutları reaktif olarak gösterme

Bağlamsal komutları bir bağlam menüsü olarak reaktif olarak gösterdiğinizde, ikincil komutlar varsayılan olarak gösterilir (komut çubuğu açılır öğesi genişletilmelidir). Bu durumda, komut çubuğu açılır menüsünde hem birincil hem de ikincil komutlar, ya da sadece ikincil komutlar olabilir.

Komutları bağlam menüsünde göstermek için açılır öğeyi genellikle ui öğesinin ContextFlyout özelliğine atarsınız. Bu şekilde, açılır menü öğe tarafından otomatik olarak işlenir ve sizin daha fazla bir şey yapmanıza gerek kalmaz.

Açılır öğeyi kendiniz gösterirseniz (örneğin, Sağ Tıklandı etkinliği), açılır öğeyi genişletilmiş modda açmak ve odak vermek için açılır öğenin ShowMode özelliğini Standart olarak ayarlayın.

İpucu

Açılır menü gösterme seçenekleri ve açılır menü yerleşimini denetleme hakkında daha fazla bilgi için bkz. Flyouts.

Her zaman genişletilmiş CommandBarFlyout'u göster

CommandBarFlyout içinde birincil ve ikincil komutlarınız olduğunda, varsayılan olarak "daha fazlasını gör" [...] düğmesi görüntülenir ve ikincil komutları genişletmek ve daraltmak için kullanılabilir. CommandBarFlyout'unuzu genişletilmiş modda tutmak ve ikincil komutları her zaman göstermek istiyorsanız CommandBarFlyout.AlwaysExpanded özelliğini kullanabilirsiniz.

AlwaysExpanded özelliği trueolarak ayarlandığında , "daha fazlasını göster" düğmesi gösterilmez ve kullanıcı denetimin genişletilmiş durumunu değiştiremez. İkincil bir komuta tıklandığında veya kullanıcı açılır öğe dışında tıkladığında CommandBarFlyout her zamanki gibi kapatılır.

Bu özelliğin yalnızca CommandBarFlyout'un ikincil komutları varsa bir etkisi olur. İkincil komut yoksa CommandBarFlyout her zaman daraltılmış modda olur.

İpucu

özelliği AlwaysExpandedolarak ayarlandığında bile true özelliğini ayarlayarak CommandBarFlyout'ı program aracılığıyla daraltabilir ve genişletebilirsiniz.

Komutlar ve içerik

CommandBarFlyout denetiminin komut ve içerik eklemek için kullanabileceğiniz 2 özelliği vardır: PrimaryCommands ve SecondaryCommands.

Varsayılan olarak, komut çubuğu öğeleri PrimaryCommands koleksiyonuna eklenir. Bu komutlar komut çubuğunda gösterilir ve hem daraltılmış hem de genişletilmiş modlarda görünür. CommandBar'ın aksine, birincil komutlar ikincil komutlara otomatik olarak taşmaz ve kesilebilir.

SecondaryCommands koleksiyonuna komutlar da ekleyebilirsiniz. İkincil komutlar denetimin menü bölümünde gösterilir ve yalnızca genişletilmiş modda görünür.

Senaryo için önemli olan yaygın komut (Kopyala, Kes, Yapıştır, Sil, Paylaş veya metin seçimi komutları gibi) varsa, bunları ikincil komutlar yerine birincil komutlar olarak eklemeniz önerilir.

Uygulama çubuğu düğmeleri

PrimaryCommands ve SecondaryCommands'ı doğrudan AppBarButton, AppBarToggleButtonve AppBarSeparator denetimleriyle doldurabilirsiniz.

Uygulama çubuğu düğme denetimleri bir simge ve metin etiketiyle karakterize edilir. Bu denetimler bir komut çubuğunda kullanım için en iyi duruma getirilmiştir ve bunların görünümü denetimin komut çubuğunda mı yoksa taşma menüsünde mi gösterildiğine bağlı olarak değişir.

  • Windows Uygulama SDK'sı 1.5 ve sonraki sürümlerde: Birincil komut olarak kullanılan Uygulama çubuğu düğmeleri komut çubuğunda hem metin etiketi hem de simge (her ikisi de ayarlanmışsa) ile gösterilir.
    <AppBarButton Icon="Copy" Label="Copy"/>
    
  • Windows Uygulama SDK'sı 1.4 ve önceki sürümlerde: Birincil komut olarak kullanılan Uygulama çubuğu düğmeleri komut çubuğunda yalnızca simgeleriyle gösterilir; metin etiketi gösterilmez. Burada gösterildiği gibi komutun metin açıklamasını göstermek için araç ipucu kullanmanızı öneririz.
    <AppBarButton Icon="Copy" ToolTipService.ToolTip="Copy"/>
    
  • İkincil komutlar olarak kullanılan uygulama çubuğu düğmeleri menüde gösterilir ve hem etiket hem de simge görünür durumdadır.

Icons

Aşağıdakiler için menü öğesi simgeleri sağlamayı göz önünde bulundurun:

  • En yaygın kullanılan öğeler.
  • Simgesi standart veya iyi bilinen menü öğeleri.
  • Komutun işlevini iyi bir şekilde gösteren simgelere sahip menü öğeleri.

Standart görselleştirmesi olmayan komutlar için simgeler sağlamak zorunda değilsiniz. Şifreleme simgeleri yararlı değildir, görsel dağınıklık oluşturur ve kullanıcıların önemli menü öğelerine odaklanmasını önler.

Diğer içerik

Bir AppBarElementContainer içine alarak komut çubuğu açılır menüsüne başka denetimler ekleyebilirsiniz. Bu, DropDownButton veya SplitButtongibi denetimler eklemenize veya daha karmaşık bir kullanıcı arabirimi oluşturmak için StackPanel gibi kapsayıcılar eklemenize olanak tanır.

Bir komut çubuğu açılır öğesinin birincil veya ikincil komut koleksiyonlarına eklenebilmesi için, bir öğenin ICommandBarElement arabirimini uygulaması gerekir. AppBarElementContainer, arabirimin kendisini uygulamasa bile komut çubuğuna öğe ekleyebilmeniz için bu arabirimi uygulayan bir sarmalayıcıdır.

Burada, komut çubuğu açılır menüsüne ek öğeler eklemek için AppBarElementContainer kullanılır. Metin hizalamayı etkinleştirmek için birincil komutlara Bir SplitButton eklenir. İkincil komutlara, yakınlaştırma denetimleri için daha karmaşık bir düzen sağlamak üzere bir StackPanel eklenir.

İpucu

Varsayılan olarak, uygulama tuvali için tasarlanmış öğeler komut çubuğunda doğru görünmeyebilir. AppBarElementContainer kullanarak bir öğe eklediğinizde, öğenin diğer komut çubuğu öğeleriyle eşleşmesini sağlamak için uygulamanız gereken bazı adımlar vardır:

  • Öğenin arka planını ve kenarlığı uygulama çubuğu düğmeleriyle eşleştirmek için basit stil varsayılan fırçaları geçersiz kılın.
  • Öğenin boyutunu ve konumunu ayarlayın.
  • Genişlik ve Yükseklik değeri 16 piksel olan bir Görünüm Kutusu'nda simgeleri kaydırma.

Uyarı

Bu örnek yalnızca komut çubuğu açılır kullanıcı arabirimini gösterir, gösterilen komutların hiçbirini uygulamaz. Komutları uygulama hakkında daha fazla bilgi için bkz. Düğmeler ve Komut tasarımının temelleri.

<CommandBarFlyout>
    <AppBarButton Icon="Cut" Label="Cut" ToolTipService.ToolTip="Cut"/>
    <AppBarButton Icon="Copy" Label="Copy" ToolTipService.ToolTip="Copy"/>
    <AppBarButton Icon="Paste" Label="Paste" ToolTipService.ToolTip="Paste"/>
    <!-- Alignment controls -->
    <AppBarElementContainer>
         <SplitButton ToolTipService.ToolTip="Alignment">
            <SplitButton.Resources>
                <!-- Override default brushes to make the SplitButton 
                     match other command bar elements. -->
                <Style TargetType="SplitButton">
                    <Setter Property="Height" Value="38"/>
                </Style>
                <SolidColorBrush x:Key="SplitButtonBackground"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="SplitButtonBackgroundPressed"
                                 Color="{ThemeResource SystemListMediumColor}"/>
                <SolidColorBrush x:Key="SplitButtonBackgroundPointerOver"
                                 Color="{ThemeResource SystemListLowColor}"/>
                <SolidColorBrush x:Key="SplitButtonBorderBrush" Color="Transparent"/>
                <SolidColorBrush x:Key="SplitButtonBorderBrushPointerOver"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="SplitButtonBorderBrushChecked"
                                 Color="Transparent"/>
            </SplitButton.Resources>
            <SplitButton.Content>
                <Viewbox Width="16" Height="16" Margin="0,2,0,0">
                    <SymbolIcon Symbol="AlignLeft"/>
                </Viewbox>
            </SplitButton.Content>
            <SplitButton.Flyout>
                <MenuFlyout>
                    <MenuFlyoutItem Icon="AlignLeft" Text="Align left"/>
                    <MenuFlyoutItem Icon="AlignCenter" Text="Center"/>
                    <MenuFlyoutItem Icon="AlignRight" Text="Align right"/>
                </MenuFlyout>
            </SplitButton.Flyout>
        </SplitButton>
    </AppBarElementContainer>
    <!-- end Alignment controls -->
    <CommandBarFlyout.SecondaryCommands>
        <!-- Zoom controls -->
        <AppBarElementContainer>
            <AppBarElementContainer.Resources>
                <!-- Override default brushes to make the Buttons
                     match other command bar elements. -->
                <SolidColorBrush x:Key="ButtonBackground"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBackgroundPressed"
                                 Color="{ThemeResource SystemListMediumColor}"/>
                <SolidColorBrush x:Key="ButtonBackgroundPointerOver"
                                 Color="{ThemeResource SystemListLowColor}"/>
                <SolidColorBrush x:Key="ButtonBorderBrush"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBorderBrushPointerOver"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBorderBrushChecked"
                                 Color="Transparent"/>
                <Style TargetType="TextBlock">
                    <Setter Property="VerticalAlignment" Value="Center"/>
                </Style>
                <Style TargetType="Button">
                    <Setter Property="Height" Value="40"/>
                    <Setter Property="Width" Value="40"/>
                </Style>
            </AppBarElementContainer.Resources>
            <Grid Margin="12,-4">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="76"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Viewbox Width="16" Height="16" Margin="0,2,0,0">
                    <SymbolIcon Symbol="Zoom"/>
                </Viewbox>
                <TextBlock Text="Zoom" Margin="10,0,0,0" Grid.Column="1"/>
                <StackPanel Orientation="Horizontal" Grid.Column="2">
                    <Button ToolTipService.ToolTip="Zoom out">
                        <Viewbox Width="16" Height="16">
                            <SymbolIcon Symbol="ZoomOut"/>
                        </Viewbox>
                    </Button>
                    <TextBlock Text="50%" Width="40"
                               HorizontalTextAlignment="Center"/>
                    <Button ToolTipService.ToolTip="Zoom in">
                        <Viewbox Width="16" Height="16">
                            <SymbolIcon Symbol="ZoomIn"/>
                        </Viewbox>
                    </Button>
                </StackPanel>
            </Grid>
        </AppBarElementContainer>
        <!-- end Zoom controls -->
        <AppBarSeparator/>
        <AppBarButton Label="Undo" Icon="Undo"/>
        <AppBarButton Label="Redo" Icon="Redo"/>
        <AppBarButton Label="Select all" Icon="SelectAll"/>
    </CommandBarFlyout.SecondaryCommands>
</CommandBarFlyout>

Aşağıda, açık bir SplitButton ile daraltılmış komut çubuğu açılır öğesi gösterilmiştir.

Komut çubuğu açılır menüsü, bölünmüş bir düğmeye sahip

Menüde özel yakınlaştırma kullanıcı arabirimi bulunan genişletilmiş komut çubuğu açılır öğesi aşağıdadır.

Karmaşık kullanıcı arabirimine sahip bir komut çubuğu açılır öğesi

Yalnızca ikincil komutlarla bağlam menüsü oluşturma

Sadece ikincil komutları içeren bir komut çubuğu açılır menüsü kullanarak, menü açılır menüsüile aynı görünüm ve davranışa ulaşan bir bağlam menüsü oluşturabilirsiniz.

<Grid>
    <Grid.Resources>
        <!-- A command bar flyout with only secondary commands. -->
        <CommandBarFlyout x:Name="ContextMenu">
            <CommandBarFlyout.SecondaryCommands>
                <AppBarButton Label="Copy" Icon="Copy"/>
                <AppBarButton Label="Save" Icon="Save"/>
                <AppBarButton Label="Print" Icon="Print"/>
                <AppBarSeparator />
                <AppBarButton Label="Properties"/>
            </CommandBarFlyout.SecondaryCommands>
        </CommandBarFlyout>
    </Grid.Resources>

    <Image Source="Assets/image1.png" Width="300"
           ContextFlyout="{x:Bind ContextMenu}"/>
</Grid>

İşte bağlam menüsü olarak kullanılan komut çubuğu açılır penceresi.

Yalnızca ikincil komutlarla bir komut çubuğu açılır öğesi

Standart menü oluşturmak için DropDownButton ile CommandBarFlyout da kullanabilirsiniz.

<CommandBarFlyout>
    <AppBarButton Icon="Placeholder"/>
    <AppBarElementContainer>
        <DropDownButton Content="Mail">
            <DropDownButton.Resources>
                <!-- Override default brushes to make the DropDownButton
                     match other command bar elements. -->
                <Style TargetType="DropDownButton">
                    <Setter Property="Height" Value="38"/>
                </Style>
                <SolidColorBrush x:Key="ButtonBackground"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBackgroundPressed"
                                 Color="{ThemeResource SystemListMediumColor}"/>
                <SolidColorBrush x:Key="ButtonBackgroundPointerOver"
                                 Color="{ThemeResource SystemListLowColor}"/>

                <SolidColorBrush x:Key="ButtonBorderBrush"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBorderBrushPointerOver"
                                 Color="Transparent"/>
                <SolidColorBrush x:Key="ButtonBorderBrushChecked"
                                 Color="Transparent"/>
            </DropDownButton.Resources>
            <DropDownButton.Flyout>
                <CommandBarFlyout Placement="BottomEdgeAlignedLeft">
                    <CommandBarFlyout.SecondaryCommands>
                        <AppBarButton Icon="MailReply" Label="Reply"/>
                        <AppBarButton Icon="MailReplyAll" Label="Reply all"/>
                        <AppBarButton Icon="MailForward" Label="Forward"/>
                    </CommandBarFlyout.SecondaryCommands>
                </CommandBarFlyout>
            </DropDownButton.Flyout>
        </DropDownButton>
    </AppBarElementContainer>
    <AppBarButton Icon="Placeholder"/>
    <AppBarButton Icon="Placeholder"/>
</CommandBarFlyout>

Komut çubuğu açılır penceresinde bir açılır düğme menüsü bulunmaktadır.

Açılan düğme menüsüyle bir komut çubuğu açılır öğesi

Metin denetimleri için komut çubuğu açılır menüleri

textCommandBarFlyout , metin düzenleme komutlarını içeren özel bir komut çubuğu açılır öğesidir. Her metin denetimi TextCommandBarFlyout'u otomatik olarak bağlam menüsü olarak (sağ tıklama) veya metin seçildiğinde gösterir. Metin komut çubuğu açılır öğesi, yalnızca ilgili komutları göstermek için metin seçimine uyarlanmıştır.

Metin seçiminde bir metin komut çubuğu açılır.

Daraltılmış metin komut çubuğu açılır menü

aşağıda, ikincil komutları gösteren genişletilmiş bir metin komut çubuğu açılır öğesi gösterilmiştir.

Genişletilmiş metin komut çubuğu açılır penceresi

Kullanılabilir komutlar

Bu tabloda, bir TextCommandBarFlyout içinde yer alan komutlar ve bunların ne zaman gösterildiği gösterilmektedir.

Command Gösterilen...
Bold metin denetimi salt okunur olmadığında (yalnızca RichEditBox).
İtalik metin denetimi salt okunur olmadığında (yalnızca RichEditBox).
Altını çizmek metin denetimi salt okunur olmadığında (yalnızca RichEditBox).
Düzeltme IsSpellCheckEnabled etkin ve yanlış yazılmış metin seçili olduğunda.
Kesmek metin denetimi salt okunur olmadığında ve metin seçildiğinde.
Kopyala metin seçildiğinde.
Yapıştır metin denetimi salt okunur olmadığında ve panoda içerik olduğunda.
Geri alın geri alınabilecek bir eylem olduğunda.
Tümünü seç metin seçilebildiğinde.

Özel metin komut çubuğu açılır menüleri

TextCommandBarFlyout özelleştirilemiyor ve her metin denetimi tarafından otomatik olarak yönetiliyor. Ancak, varsayılan TextCommandBarFlyout değerini özel komutlarla değiştirebilirsiniz.

  • Metin seçiminde gösterilen varsayılan TextCommandBarFlyout değerini değiştirmek için özel bir CommandBarFlyout (veya başka bir açılır liste türü) oluşturabilir ve bunu SelectionFlyout özelliğine atayabilirsiniz. SelectionFlyout değerini null olarak ayarlarsanız, seçimde hiçbir komut gösterilmez.
  • Bağlam menüsü olarak gösterilen varsayılan TextCommandBarFlyout değerini değiştirmek için, metin denetimindeki ContextFlyout özelliğine özel bir CommandBarFlyout (veya başka bir açılır öğe türü) atayın. ContextFlyout nullolarak ayarlarsanız, metin denetiminin önceki sürümlerinde gösterilen menü açılır öğesi TextCommandBarFlyout yerine gösterilir.

Işığı kapatma

Açılır menüler, bağlam menüleri ve diğer geçici pencereler gibi hafif kapatma denetimleri, kapatılana kadar geçici kullanıcı arabiriminde klavye ve oyun yüzeyi odağını hapsederek tutar. Bu davranışla ilgili görsel bir ipucu sağlamak için Xbox'ta ışık kapatma denetimleri kapsam dışı kullanıcı arabiriminin görünürlüğünü azaltan bir katman çizer. Bu davranış LightDismissOverlayMode özelliğiyle değiştirilebilir. Varsayılan olarak, geçici kullanıcı arayüzleri Xbox'ta (Otomatik) ışık geçiş katmanını görüntüler, ancak diğer cihaz ailelerinde görüntülemez. Yer paylaşımını her zaman Açık veya her zaman Kapalıolarak ayarlamayı seçebilirsiniz.

<CommandBarFlyout LightDismissOverlayMode="Off" /> >

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.

UWP uygulamaları için CommandBarFlyout denetimi WinUI 2'nin bir parçası olarak eklenir. Yükleme yönergeleri de dahil olmak üzere daha fazla bilgi için bkz. WinUI 2. Bu denetimin API'leri hem Windows.UI.Xaml.Controls (UWP) hem de Microsoft.UI.Xaml.Controls (WinUI) ad alanlarında mevcuttur.

Tüm denetimler için en güncel stilleri ve şablonları almak için en son WinUI 2'yi kullanmanızı öneririz. WinUI 2.2 veya üzeri, bu denetim için yuvarlatılmış köşeler kullanan yeni bir şablon içerir. Daha fazla bilgi için bkz . Köşe yarıçapı.

Bu makaledeki kodu WinUI 2 ile kullanmak için, projenize dahil edilen Windows UI Kitaplığı API'lerini temsil etmek için XAML'de bir diğer ad kullanın (muxckullanıyoruz). Daha fazla bilgi için WinUI 2'yi kullanmaya başlama hakkında bölümüne bakın.

xmlns:muxc="using:Microsoft.UI.Xaml.Controls"

<muxc:CommandBarFlyout />