2011-07-01 4 views
2
 <Button Margin="0,0,5,0" Cursor="Hand" 
          ToolTip="Search" Command="{Binding SearchButton}" 
          IsEnabled="{Binding ElementName=SaveButton,Path=IsEnabled,  
          UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"> 
           <i:Interaction.Triggers> 
            <i:EventTrigger EventName="Click" > 
             <cmd:EventToCommand 
             PassEventArgsToCommand="False" 
             Command="{Binding SearchButton}" 
            /> 
            </i:EventTrigger> 
           </i:Interaction.Triggers> 
           <Button.ContentTemplate> 
            <DataTemplate> 
             <Grid> 
              <Label Visibility="Collapsed">_Search</Label> 
              <Image Source="/CHKRevAcc;component/Images/search.png" /> 
             </Grid> 
            </DataTemplate> 
           </Button.ContentTemplate> 
     </Button> 

答えて

1

AccessText要素を使用して、アクセスキーを指定する必要があるテキストをラップできます。

<Button Margin="0,0,5,0" Cursor="Hand" 
      ToolTip="Search" Command="{Binding SearchButton}" 
      IsEnabled="{Binding ElementName=SaveButton,Path=IsEnabled,  
      UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="Click" > 
      <cmd:EventToCommand 
        PassEventArgsToCommand="False" 
        Command="{Binding SearchButton}" 
      /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
     <Button.ContentTemplate> 
     <DataTemplate> 
      <Grid> 
       <AccessText Visibility="Collapsed">_Search</AccessText> 
       <Image Source="/CHKRevAcc;component/Images/search.png" /> 
      </Grid> 
     </DataTemplate> 
     </Button.ContentTemplate> 
    </Button> 

これでうまくいかない場合は、表示を折りたたむように設定したくない場合があります。代わりに、不透明にしてテキストを短くします

<AccessText Opacity="0">_S</AccessText> 

この方法では、ボタンはまだテキストを処理しますが、表示されません。あなたはこの最後のステップを取る必要があるかどうかは分かりません。

+0

ありがとう、しかし、私はどのように私は発射を防ぐことができます上に別のドラッグパネルがある場合。私はそれの上に別のパネルを開き、Alt + sはまだ起動します。 –

+1

私がALT + Sに応答しなくてもよいことがわかっている唯一の方法は、ボタンを無効にするか、コンテナにすることです。 – NathanAW

+0

ああ大丈夫だよ!ありがとう! –