2016-08-15 24 views
1

経由WPFボタンのナビゲーションは、私がボタンを持っているとしましょう許可:私はコンテンツの_インフロントを置くときstringformatとキーと_

<Button Name="BtnOk" 
     Content="OK" 
     IsDefault="True"> 

は今、私は次のキーとボタンを使用することができますその後、例えば私はキーoを押しながら次のボタンを直接(彼に焦点を当てずに)使うことができます。

<Button Name="BtnOk" 
     Content="_OK"> 

バインディングでどうすればいいですか?

私は、次の2つのアプローチを試してみた:

  1. は全く_を表示しません:

    <Button Name="BtnOk" 
        Content="{Binding SomePath, StringFormat=_{0}"> 
    
  2. メールを送る前に、代わりに彼の下のアンダースコアが表示されます:

    <Button Name="BtnOk" 
        Content="{Binding SomePath" 
        ContentStringFormat="_{0}"> 
    

どのように単語の最初の文字の下にアンダースコアを付けると、その文字のキーストロークでナビゲーションを行うことができますか?


ボタンは、私はどこか別の場所から使用し、ユーザーコントロールであり、かつ、ボタンのテキストは、このようなDependencyPropertyにバインドされます。

Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MyUserControl}}, Path=SomePath}"    

答えて

3

は、使用するAccessTextを試してみました:

<Button Name="BtnOk" Content="OK"IsDefault="True"> 
    <AccessText Text={Binding SomePath} /> 
</Button> 

UPDATE

バインディングにアンダースコアがないので、StringFormatを使用して対処できます。

<Button Name="BtnOk" IsDefault="True"> 
    <AccessText Text="{Binding SomePath, StringFormat=_{0}}" /> 
</Button> 
+0

申し訳ありませんが、私が誤解した場合 - アンダースコアはどこですか? 'SomePath'では – Mafii

+0

です。あなたが望むものではありませんか? –

+0

'SomePath'にはアンダースコア(DP)がありません。私の例では動作しませんでしたので、xamlにアンダースコアを追加することはできません。 – Mafii

関連する問題