我在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項目,它也應該可以工作。我希望我的問題很清楚,有什麼想法?
如果你不想處理點擊事件,你需要什麼按鈕? –