图像按钮顶部的文本块(Windows 8 XAML/C#)
有人可以给我一个例子,如何样式与XAML帽子有三种状态(悬停,正常,按下)按钮。我希望按钮的整个区域都被一个图像覆盖(三个不同的状态各一个),我希望文本位于顶部,对于不同的状态也有三种不同的颜色。我已经有了类似的东西(文本块上没有颜色状态)。此时我遇到的问题是textblock正在阻止Nearth下按钮的输入事件(我还没有实现textblock的颜色更改…) 当前代码:图像按钮顶部的文本块(Windows 8 XAML/C#),c#,xaml,imagebutton,textblock,C#,Xaml,Imagebutton,Textblock,有人可以给我一个例子,如何样式与XAML帽子有三种状态(悬停,正常,按下)按钮。我希望按钮的整个区域都被一个图像覆盖(三个不同的状态各一个),我希望文本位于顶部,对于不同的状态也有三种不同的颜色。我已经有了类似的东西(文本块上没有颜色状态)。此时我遇到的问题是textblock正在阻止Nearth下按钮的输入事件(我还没有实现textblock的颜色更改…) 当前代码: <DataTemplate x:Name="SubjectItemTemplate"> <Canva
<DataTemplate x:Name="SubjectItemTemplate">
<Canvas Width="225" Height="225">
<Button Canvas.Left="0" Canvas.Top="0"
Command="{Binding ElementName=LayoutRoot, Path=DataContext.NavigateToUnitsPage}"
CommandParameter="{Binding}">
<Button.Template>
<ControlTemplate>
<Grid Background="{Binding LightThemeColor}" Width="205" Height="205">
<controls:ImageButton HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,0,0,0"
NormalStateImageSource="{Binding ImageUriNormal}"
HoverStateImageSource="{Binding ImageUriHover}"
PressedStateImageSource="{Binding ImageUriPressed}" Command="{Binding ElementName=LayoutRoot, Path=DataContext.NavigateToUnitsPage}"
CommandParameter="{Binding}"/>
<TextBlock Text="{Binding Name}" FontSize="18" TextWrapping="Wrap" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,168,0,0" />
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</Canvas>
</DataTemplate>
使用
TextBlock
处理ImageButton
事件的原因是TextBlock
与ImageButton
位于一条直线上,而不包含在ImageButton
内。要更改此情况,必须将TextBlock
放置在 <controls:ImageButton HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,0,0,0"
NormalStateImageSource="{Binding ImageUriNormal}"
HoverStateImageSource="{Binding ImageUriHover}"
PressedStateImageSource="{Binding ImageUriPressed}" Command="{Binding ElementName=LayoutRoot, Path=DataContext.NavigateToUnitsPage}" CommandParameter="{Binding}" >
<TextBlock Text="{Binding Name}" FontSize="18" TextWrapping="Wrap" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,168,0,0" />
</controls:ImageButton>
什么意思文本块正在阻止输入事件
?当我将鼠标移到imagebutton上时,图像将变为悬停图像。但是,当我将鼠标移到文本块(位于图像内部)上时图像不会更改为悬停状态。我也无法通过单击textblock区域中的图像触发命令。从XAML中,您的textblock
与ImageButton
对齐。您所说的“对齐”是什么意思?您的TextBlock
元素不在ImageButton
内,而是在它之后。