我有以下代码:
<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 :(得分:1)
按钮显示为灰色的原因是因为您已告诉它使用内置剪切命令。这意味着当没有任何要剪切的东西时,Button
将被自动禁用,并且当选择了可以剪切的东西时(例如文本),它将被启用。
要验证这一点,你可以做两件事;要么删除cut命令,要么看到该按钮现在已启用:
<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>