根据我的问题,我的意思是我有一个横向StackPanel
,其Tap
事件名为stk_Tap1
<StackPanel Orientation="Horizontal" Tap="stk_Tap1">
<Rectangle Width="28" Height="28" Fill="{Binding HexColor}"/>
<TextBlock Text="{Binding Color}" Margin="12,0,0,0"/>
</StackPanel>
所有东西都可以填充,当点击一个项目时会出现问题。只有当我点击Rectangle时才会触发Tap事件处理程序。当我按下TextBlock时没有任何反应。
private void stk_Tap1(object sender, System.Windows.Input.GestureEventArgs e)
{
if (AccentColorListPicker.SelectedIndex != -1)
{
var selectedItem = (sender as StackPanel).DataContext as ColorItem;
string itemName = selectedItem.color //the `color` property of the custom ColorItem class I defined is actually the string name of the color
}
我无法弄清楚是什么导致了这个问题。原来我只在StackPanel中使用了TextBlock,并且工作正常。我想虽然添加带有相应TextBlock填充的Rectangle对用户来说更直观,因此我的问题出现了。
答案 0 :(得分:0)
我遇到了类似的问题。尝试将stackpanel的背景设置为纯色或透明,这样就解决了它。
答案 1 :(得分:0)
文本块浮动在StackPanel的表面上。由于Tap事件是针对StackPanel的,因此只有在您点击StackPanel时才会触发。为了完成这项工作,请在文本块中添加tap事件。