我有一个带按钮的简单酒吧指挥官。当我尝试调整窗口大小时,启用IsDynamicOverflowEnabled,当命令栏中没有空格时,主按钮移动到辅助按钮。 这会产生这个图形问题:
选择按钮被剪切。
这是commandBar的XAML:
<CommandBar x:Name="command" DefaultLabelPosition="Right" IsDynamicOverflowEnabled="True">
这适用于任何appBarButton:
<AppBarButton x:Name="searchAppBarButton" Style="{StaticResource AppBarButtonRevealStyle}" ToolTipService.ToolTip="Search" Click="searchAppBarButton_Click" Label="Search">
<AppBarButton.Content>
<FontIcon x:Name="IconSearch" FontFamily="Segoe MDL2 Assets" Glyph="" />
</AppBarButton.Content>
</AppBarButton>
更新: 我发现了问题,问题是appbarbutton的样式AppBarButtonRevealStyle。 删除样式正常工作。 这是完整的代码:
<CommandBar Background="Transparent" DefaultLabelPosition="Right" IsDynamicOverflowEnabled="True">
<CommandBar.Content>
<TextBlock Margin="10,0,0,0" Style="{StaticResource HeaderTextBlockStyle}"
FontSize="40"
Text="Command Bar"/>
</CommandBar.Content>
<CommandBar.PrimaryCommands>
<AppBarButton ToolTipService.ToolTip="Layout" Style="{StaticResource AppBarButtonRevealStyle}" Label="Layout">
<AppBarButton.Content>
<FontIcon FontFamily="Segoe MDL2 Assets" Glyph="" />
</AppBarButton.Content>
</AppBarButton>
<AppBarButton ToolTipService.ToolTip="Layout" Style="{StaticResource AppBarButtonRevealStyle}" Label="Layout">
<AppBarButton.Content>
<FontIcon FontFamily="Segoe MDL2 Assets" Glyph="" />
</AppBarButton.Content>
</AppBarButton>
<AppBarButton ToolTipService.ToolTip="Layout" Style="{StaticResource AppBarButtonRevealStyle}" Label="Layout">
<AppBarButton.Content>
<FontIcon FontFamily="Segoe MDL2 Assets" Glyph="" />
</AppBarButton.Content>
</AppBarButton>
<AppBarButton ToolTipService.ToolTip="Layout" Style="{StaticResource AppBarButtonRevealStyle}" Label="Layout">
<AppBarButton.Content>
<FontIcon FontFamily="Segoe MDL2 Assets" Glyph="" />
</AppBarButton.Content>
</AppBarButton>
</CommandBar.PrimaryCommands>
<CommandBar.SecondaryCommands>
<AppBarButton x:Name="clearAllRecentDocument" ToolTipService.ToolTip="Clear All"
Label="Clear All"
Icon="Delete" LabelPosition="Collapsed" ></AppBarButton>
</CommandBar.SecondaryCommands>
答案 0 :(得分:0)
唷!经过大量的试验,并通过视觉状态研究风格的更深层次,结果发现引起这种问题的问题很容易解决。
因此控件的IsDynamicOverflowEnabled
属性与3个Visual状态有关,即:
现在,在你的情况下,OverflowWithMenuIcons
视觉状态被触发(这更像是一个FYI,以防你想在触发器上应用某种特殊行为)。
问题是,在样式AppBarButtonRevealStyle
中,顶部有两个Setters
:
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Width" Value="68" />
因此,即使内容适应新布局,AppBarButton
仍然有HardCoded
Width
68
。此外,由于HorizontalAlignment
设置为左,即使控件占用更多宽度,它仍然不会覆盖整个可点击区域。
这很简单,将Width
设置为Auto
将允许内容自动更改其宽度并将HorizontalAlignment
设置为Stretch
将允许控件扩展自己以延伸到父级width
以覆盖点击区域。修改后的代码如下:
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Width" Value="Auto" />
也很简单,点击代码中的AppBarButtonRevealStyle
并按F12,然后打开Generic.xaml
,从那里复制样式(因为你可以&#39} ;在那里进行修改)并将其粘贴到<Page.Resources>
的{{1}}标记中,然后替换上面的代码。
仅供参考,我已将修改后的样式放在下面:
xaml
我希望这可以解决查询,如果评论部分中有任何内容,请告诉我