0

我需要一些有关 XAML 的帮助。这应该很容易,但不幸的是我无法弄清楚。我里面有边框和定义的按钮。问题是当按下按钮时它会保持焦点(周围的蓝色方块)。但是最好使按钮未按下(未聚焦)与 ToolBar 控件相同。下面是 XAML 的一部分:

<Border DockPanel.Dock="Top" Height="75" Style="{StaticResource GradientToolBarBorder}">
 <StackPanel Orientation="Horizontal">
   <c:ToolBarImageButton Image="Resources/connect.png" Text="Connect"/>
 </StackPanel>
</Border>

工具栏图像按钮:

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="5">
 <StackPanel Orientation="Vertical">
  <Image Source="{Binding ElementName=ToolBarImgButton, Path=Image}" Stretch="None"  RenderOptions.BitmapScalingMode="NearestNeighbor" />
  <TextBlock Text="{Binding ElementName=ToolBarImgButton, Path=Text}" Margin="0,2,0,0"/>
 </StackPanel>
</Button>

谢谢。

4

1 回答 1

0

由于没有 OOTB 支持失去焦点,因此最简单的解决方案将是添加隐藏控件并在每次需要时为其设置焦点。

只读文本框将是这里最安全的选择。

<TextBox Height="0" Name="hidden" Width="0" IsReadOnly="True" />

如果事件处理程序用于按钮,那么只需调用hidden.Focus()其中的方法。

但是,在命令(MVVM 模式)的情况下,您将需要使用此处描述的附加属性

于 2013-02-04T10:55:22.373 回答