簡體   English   中英

彈出按鈕未顯示ItemTemplate中的按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM