2013-04-19 5 views
0

У меня есть следующий код:кнопки панели инструментов WPF, кажется, не реагировать

<ToolBarTray Margin="0,21,0,0" Width="Auto" Height="38" VerticalAlignment="Top"> 
     <ToolBar Height="38"> 
      <Button Style="{StaticResource ResourceKey=btnStyle}" Command="Cut" IsEnabled="True"> 
       <Image Source="images/teren.png" ToolTip="Test" /> 
      </Button> 
     </Toolbar> 
    </ToolBarTray> 

Стиль в вопросе только изменяет высоту и ширину в данный момент. Каждый элемент рисуется соответственно, но кнопка кажется не функциональной в том смысле, что для всех целей она выглядит как изображение, а не что-то еще. Всплывающая подсказка не будет отображаться, у нее нет анимации зависания, и она не может быть нажата.

Я новичок в WPF, поэтому я предполагаю, что пропустил что-то большое.

Проблема не в изображении. Если я удалю эту строку, она все равно не будет действовать как кнопка.

+0

проверить [это] (http://weblogs.asp.net/psheriff/archive/2012/09/06/a-wpf-image-button.aspx), чтобы создать usercontrol для управления изображением, чтобы принять изображение с эффектами, которые кнопка должна иметь.. –

ответ

1

Причина, по которой кнопка выделена серым цветом, заключается в том, что вы сказали ей использовать встроенную команду вырезания. Это означает, что Button будет автоматически отключен, если нет необходимости вырезать и включить, если выбрано что-то, что можно вырезать (например, текст).

Для этого вы можете сделать две вещи; либо удалить команду вырезать и увидеть, что кнопка теперь включена:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ToolBarTray Margin="0,21,0,0" Width="Auto" Height="38" VerticalAlignment="Top"> 
      <ToolBar Height="38"> 
       <Button IsEnabled="True"> 
        Click 
       </Button> 
      </ToolBar> 
     </ToolBarTray> 
    </Grid> 
</Window> 

Или добавьте богатый текстовое поле и увидеть, что кнопка включена при выборе какой-либо текст:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <ToolBarTray Width="Auto" VerticalAlignment="Top"> 
      <ToolBar Height="38" > 
       <Button IsEnabled="True" Command="Cut"> 
        Click 
       </Button> 
      </ToolBar> 
     </ToolBarTray> 
     <RichTextBox Grid.Row="1"/> 
    </Grid> 
</Window> 

enter image description here

Смежные вопросы