我想使用CommandBar
和a Flyout
来构建这样的东西.
用户应单击CommandBar
(Flyout
打开)中的按钮,然后在其中输入文本TextBox
,然后单击右侧的按钮TextBox
以启动搜索请求.问题是,当我单击TextBox时,我无法输入文本.在我写东西之前,它似乎失去了焦点.下面是示例代码.怎么了?
<Page.Resources>
<DataTemplate x:Key="Search">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.Column="0" />
<AppBarButton Grid.Column="1" Icon="Find" />
</Grid>
</DataTemplate>
</Page.Resources>
<Grid>
<CommandBar RequestedTheme="Dark">
<AppBarButton Icon="Find">
<AppBarButton.Flyout>
<Flyout Placement="Bottom" >
<ContentPresenter ContentTemplate="{StaticResource Search}"/>
</Flyout>
</AppBarButton.Flyout>
</AppBarButton>
</CommandBar>
</Grid>
Run Code Online (Sandbox Code Playgroud) 我在*.xlam加载项中创建了一个userform,并在IDE中创建了一个新的命令栏和按钮,但是当我单击该按钮时,用户窗体在Excel中打开,并且强制远离IDE.有没有办法在IDE而不是主机应用程序中打开用户表单而不诉诸.Net COM加载项?
以下是创建命令栏和按钮并处理按钮单击事件的代码.
Option Explicit
Public WithEvents cmdBarEvents As VBIDE.CommandBarEvents
Private Sub Class_Initialize()
CreateCommandBar
End Sub
Private Sub Class_Terminate()
Application.VBE.CommandBars("VBIDE").Delete
End Sub
Private Sub CreateCommandBar()
Dim bar As CommandBar
Set bar = Application.VBE.CommandBars.Add("VBIDE", MsoBarPosition.msoBarFloating, False, True)
bar.Visible = True
Dim btn As CommandBarButton
Set btn = bar.Controls.Add(msoControlButton, , , , True)
btn.Caption = "Show Form"
btn.OnAction = "ShowForm"
btn.FaceId = 59
Set cmdBarEvents = Application.VBE.Events.CommandBarEvents(btn)
End Sub
Private Sub cmdBarEvents_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
CallByName …
Run Code Online (Sandbox Code Playgroud) 我想为我的Xamarin项目的UWP部分创建一个自定义CommandBar.
我想在背景颜色上制作徽标.获得此功能的唯一方法是制作可视刷或网格,以包含背景颜色和图片.
我读过它可以这样做;
<Window.Resources>
<VisualBrush x:Key="myBrush">
<VisualBrush.Visual>
<Grid>
<Rectangle Fill="Red" />
<Image Source="troll.png" />
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
我需要在运行时添加此命令栏,如下所示:
var _globalAppBar = new CommandBar();
_globalAppBar.Background = [Link to above layout]
Run Code Online (Sandbox Code Playgroud)
问题:
我在Xamarin UWP项目中如何或在哪里添加它?添加XAML文件?
如何在运行时链接到布局?或者有更好的方法吗?
在我的xaml页面中,我在Stack Panel中有一个动态生成的ListBox,Textblocks和Textboxes,它还有一个"Page.BottomAppBar",它包含页面底部的CommandBar.
代码编辑1 :(提供完整的XAML UI代码)
<Page>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<TextBlock Foreground="#616161" x:Name="tbHeading1" Text="Event Details" Margin="15,0,0,0" Width="auto" TextWrapping="Wrap" VerticalAlignment="Center" FontFamily="Calibri" FontSize="28" HorizontalAlignment="Left"></TextBlock>
</Grid>
<!--<ScrollViewer VerticalScrollBarVisibility="Auto" >-->
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Background="White" Margin="0,0,0,1">
<!--EVENT TYPE-->
<TextBlock FontFamily="Arial MT Regular" Margin="15,0,0,0" Foreground="#616161" x:Name="tbEventType" Text="Event Type" FontSize="20"></TextBlock>
<ComboBox x:Name="cmbEventType" RequestedTheme="Light" Padding="5,0,0,0" PlaceholderText=" - Tap for Selection - " FontSize="16" FontFamily="Calibri" Width="auto" BorderBrush="#80b656" BorderThickness="2" SelectedIndex="-1" SelectionChanged="cmbEventType_SelectionChanged" Margin="15,0"> …
Run Code Online (Sandbox Code Playgroud) 我正在IE工具栏上工作,我正在尝试将命令提供给Web浏览器中的上下文菜单项,这意味着我在上下文菜单中添加项目然后我尝试给出命令 那个项目.
我附上了我需要的快照,在IE网页浏览器中的快照,当我右键单击任何链接时,屏幕上显示上下文菜单,如果我点击XYZ,我需要执行任何操作... xyz的位置也固定在顶部..
我在我的项目 (UWP) 中使用命令栏,但是,我意识到默认情况下命令栏中有一个省略号按钮。有什么办法可以隐藏/删除它吗?
这是我的代码:
<Page.BottomAppBar>
<CommandBar
Background="{StaticResource CitiKioskBackgroundBrush}"
IsOpen="True"
IsSticky="True"
Name="appBarName"
Visibility="Collapsed"
>
<CommandBar.PrimaryCommands>
<AppBarButton Name="SettingAppBarButton"
Icon="Setting"
Label="Settings"
Foreground="White" Click="SettingAppBarButton_Click"/>
</CommandBar.PrimaryCommands>
</CommandBar>
</Page.BottomAppBar>
Run Code Online (Sandbox Code Playgroud) 这可能是一个微不足道的初学者问题,我已经为Windows和Silverlight应用程序找到了相当多的相关信息,但没有什么可以直接帮助我.我正在用C#和XAML 编写Windows Phone 8.1/WinRT应用程序,我想以编程方式修改在XAML中创建的应用程序栏.例如,我想在调试版本中包含一个按钮,使用后面的代码中的预处理程序指令.
在下面的XAML代码中,我正在创建一个带有两个按钮的BottomAppBar.如何创建第二个按钮(AppBarAddSampleItemsButton),包括代码背后的所有属性?
<prism:VisualStateAwarePage.BottomAppBar>
<CommandBar >
<CommandBar.PrimaryCommands>
<AppBarButton x:Uid="AppBarNewItemButton"
Label="New item"
Icon="Add" Command="{Binding GoToAddItemPageCommand}" />
</CommandBar.PrimaryCommands>
<CommandBar.SecondaryCommands>
<AppBarButton x:Uid="AppBarAddSampleItemsButton"
Label="Add sample items"
Command="{Binding GoToAddSampleItemssPageCommand}" />
</CommandBar.SecondaryCommands>
</CommandBar>
</prism:VisualStateAwarePage.BottomAppBar>
Run Code Online (Sandbox Code Playgroud) 我想AutoSuggestBox
在CommandBar
. 但是,以下代码不会进行AutoSuggestBox
拉伸。我尝试设置HorizontalContentAlignment="Stretch"
and HorizontalAlignment="Stretch"
,但没有影响。我错过了什么?
<CommandBar Grid.Row="0" HorizontalContentAlignment="Stretch">
<CommandBar.Content>
<AutoSuggestBox HorizontalAlignment="Stretch" Margin="8 8 8 4" PlaceholderText="Search podcasts" QueryIcon="Find">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="QuerySubmitted">
<Core:InvokeCommandAction
Command="{Binding SearchCommand}"
InputConverter="{StaticResource QueryArgsConverter}" />
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</AutoSuggestBox>
</CommandBar.Content>
</CommandBar>
Run Code Online (Sandbox Code Playgroud)
我有一个非常具体的问题.我找不到这个确切问题的答案,所以我使用了试错法来查明问题.这是一个我遇到问题的示例代码:
<Page.BottomAppBar>
<CommandBar x:Name="MainMenuCommandBar" ClosedDisplayMode="Minimal">
<CommandBar.PrimaryCommands>
<AppBarButton x:Name="otherCommandButton" Label="Egyéb" Icon="List" Click="otherCommandButton_Click" Style="{StaticResource appbarButton}">
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem x:Name="SecondaryFlyout1" Text="Névjegy" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout2" Text="Adatbázis mentés" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout3" Text="Adatbázis visszaállítás" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout4" Text="Terminál törlése" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout5" Text="Jelszavas védelem" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout6" Text="Nyelv váltás" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout7" Text="Bet?méret" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
<MenuFlyoutItem x:Name="SecondaryFlyout8" Text="Kilépés" Style="{StaticResource BottomAppBarFlyoutStyle}"/>
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton x:Name="refreshCommandButton" Label="Frissítés(Bank)" Icon="Refresh" Style="{StaticResource appbarButton}"/>
<AppBarButton x:Name="syncCommandButton" Label="Szinkronizál(PC)" Icon="Sync" Style="{StaticResource appbarButton}"/>
</CommandBar.PrimaryCommands>
</CommandBar>
</Page.BottomAppBar>
Run Code Online (Sandbox Code Playgroud)
我想在命令栏内为appbarbuttons应用自定义样式,因为标签中的文本太长,我看不到整个文本.所以我想,我会把文字缩小,或者appbarbutton更宽.设计师向我展示了这些变化,但是当我运行程序时,没有任何变化.无论我做什么,appbarbuttons都使用默认样式.因此,当我运行程序时,文本不会变小.
在此之后,我试图找出问题所在.我也尝试编辑模板,但"编辑副本"命令显示为灰色.我觉得这很奇怪,因为我穿过MSDN,在那里我看到appbarbuttons实际上有一种我可以编辑的风格.我复制了默认样式,进行了更改,将其作为自定义样式应用到我的app.xaml中,但我遇到了和以前一样的问题.无论我改变风格,都没有改变.在所有这些失败之后,我将一个appbarbutton …
我在UWP Apps中遇到CommandBar问题(见下图)
在这里,您可以看到CompactMode中的CommandBar和带有Text"Title" 的TextBlock.当我现在展开(点击三个点)CommandBar时,TextBlock消失,如下所示:
当我关闭扩展的CommandBar时,它会从图片1返回状态,显示TextBlock.
代码:
<Grid x:Name="cmdBarDesktop" Grid.Row="0">
<CommandBar ClosedDisplayMode="Compact" IsOpen="True" IsSticky="True">
<CommandBar.PrimaryCommands>
<AppBarButton x:Name="AppBarListDesktop" Icon="List" Label="Listenform" Grid.Column="1" Click="AppBarList_Click" />
<AppBarButton x:Uid="AppBarAdd" Icon="Add" Label="Hinzufügen" Grid.Column="3" Click="AppBarAdd_Click" />
</CommandBar.PrimaryCommands>
</CommandBar>
</Grid>
<Grid x:Name="titleGrid" VerticalAlignment="Center" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="Hausaufgaben" Style="{StaticResource TitleTextBlockStyle}" Grid.Column="1" VerticalAlignment="Center" />
</Grid>
Run Code Online (Sandbox Code Playgroud) commandbar ×10
xaml ×4
c# ×3
uwp ×3
winrt-xaml ×2
.net ×1
appbar ×1
autosuggest ×1
background ×1
ellipsis ×1
excel-vba ×1
flyout ×1
ide ×1
listbox ×1
overlapping ×1
search-box ×1
styling ×1
toolbar ×1
userform ×1
uwp-xaml ×1
vba ×1
xamarin ×1