[英]Flyout not showing for buttons inside ItemTemplate
每當用戶按下我創建的列表框內的按鈕時,我都試圖顯示彈出按鈕。 這是用於加載綁定項目源並附加彈出按鈕的代碼。
<myControls:myListbox ItemsSource="{Binding MyList}">
<myControls:myListbox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="70" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=MyField}"></TextBlock>
<Button Loaded="DeleteButton_OnLoaded" Click="OnDeleteConfirmationClick" Flyout="{StaticResource MyFlyout}" Grid.Column ="1""></Button>
</Grid>
</DataTemplate>
</myControls:myListbox.ItemTemplate>
</myControls:myListbox>
以下是彈出靜態資源的代碼。
<Page.Resources>
<Flyout x:Key="MyFlyout">
<StackPanel>
<TextBlock>Some confirmation message</TextBlock>
<Button></Button>
</StackPanel>
</Flyout>
</Page.Resources>
我收到每個按鈕的OnLoaded
事件,但是沒有同時觸發Click和Flyout。 這與ItemTemplate
內部的按鈕有關嗎?
當您在模板中有一個基於事件的對象時,您需要使用ClickMode的聲明來到達其項目事件之外,因此在您的實例中,例如,將ClickMode="Press"
添加到您的按鈕將允許它分離並處理自己的事件事件。
既然坐着,您就必須選擇按鈕所在的項目,以便對其單擊進行處理。
不知道這在技術上是否是最合理的解釋,但該概念是否正確,很高興您得到了解決。 干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.