0

XAMLについてサポートが必要です。簡単なはずですが、残念ながらわかりません。中にボーダーと定義されたボタンがあります。問題は、ボタンを押すとフォーカスが合ったままになることです(青い四角の周り)。ただし、ツールバーコントロールと同じように、ボタンが押されていない(フォーカスされていない)ようにすると便利です。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 に答える