我在GridView
项目中有一个UserControl
。就像下面。UWP:UserControl覆盖GridView项目点击
<GridView Name="SymbolItemsGridView"
Grid.Column="0"
Background="#333333"
SelectionMode="None"
IsItemClickEnabled="True"
ItemsSource="{x:Bind Items}"
HorizontalAlignment="Stretch"
Margin="15,5,10,15"
ItemClick="SymbolGridView_ItemClick">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:SymbolItem">
<local:SymbolControl Margin="10"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
以上SymbolControl
是UserControl
,我改变了ContentPresenter
风格轮
<ContentPresenter CornerRadius="40"
Height="40"
Width="40"
Background="Cyan"
x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
Padding="0" />
所以这UserControl
里面只有一个按键是圆形的。
<Button Name="SymbolButton"
Content="{x:Bind PhoneticSymbolItem.Text}"
Style="{StaticResource VowelSymbolButton}" />
我的问题是,当我点击GridView的项目(上面的黑色部分)的拐角处ItemClick="SymbolGridView_ItemClick"
事件处理程序才有效。如果我点击圆形按钮,它不起作用。
我知道这可能是因为该按钮位于GridView项目的顶部,并且单击此按钮只会触发按钮单击事件。但是我想设置的媒体资源位于GridView的ItemsSource="{x:Bind Items}"
中。我不知道如何将它传递给我的UserControl并使用按钮单击事件。
或者如果有一种方法可以将按钮单击事件弹出到GridView项目,它也应该可以工作。我希望我的问题很清楚,有什么想法?
如果你不想处理点击事件,你需要什么按钮? –