C#實(shí)現(xiàn)win10 uwp 右擊浮出窗在點(diǎn)擊位置
本文主要讓MenuFlyout出現(xiàn)在我們右擊位置。
我們一般使用的MenuFlyout寫在前臺(tái),寫在Button里面,但是可能我們的MenuFlyout顯示的位置和我們想要的不一樣。
通過使用后臺(tái)寫ShowAt的方法,我們可以通過e.GetPosition獲得鼠標(biāo)點(diǎn)擊位置,需要對函數(shù)傳入相對的元素,這個(gè)元素一般可以用我們點(diǎn)擊使用的元素,也可以使用我們的最外層Grid,這樣我們就可以獲得了鼠標(biāo)位置,也就可以顯示我們的MenuFlyout在點(diǎn)擊位置。
我們建一個(gè)ListView,然后綁定后臺(tái),在我們ListView要右擊顯示我們的浮出,要求我們的浮出在我們點(diǎn)擊位置。
MenuFlyout可以在后臺(tái)寫,當(dāng)然寫在前臺(tái)也可以。
我們這寫在后臺(tái),我們可以選擇Placement 顯示在我們元素的位置,但這不是我們鼠標(biāo)點(diǎn)擊的位置,要顯示我們鼠標(biāo)點(diǎn)擊的位置,其實(shí)也很簡單。我們可以從e.GetPosition(sender as UIElement)獲得鼠標(biāo)位置,把這個(gè)給MenuFlyout我們的浮出顯示在我們鼠標(biāo)點(diǎn)擊位置
<ListView ItemsSource="{x:Bind View.Str}"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> </Style> </ListView.ItemContainerStyle> <ListView.ItemTemplate> <DataTemplate> <Grid Background="#FFda2a5c" RightTapped="GridColection_OnRightTapped"> <TextBlock Text="{Binding}"></TextBlock> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
后臺(tái)寫
private void GridColection_OnRightTapped(object sender, RightTappedRoutedEventArgs e) { MenuFlyout myFlyout = new MenuFlyout(); MenuFlyoutItem firstItem = new MenuFlyoutItem { Text = "OneIt" }; MenuFlyoutItem secondItem = new MenuFlyoutItem { Text = "TwoIt" }; myFlyout.Items.Add(firstItem); myFlyout.Items.Add(secondItem); //if you only want to show in left or buttom //myFlyout.Placement = FlyoutPlacementMode.Left; FrameworkElement senderElement = sender as FrameworkElement; //the code can show the flyout in your mouse click myFlyout.ShowAt(sender as UIElement, e.GetPosition(sender as UIElement)); }
以上所述是小編給大家介紹的C#實(shí)現(xiàn)win10 uwp 右擊浮出窗在點(diǎn)擊位置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實(shí)現(xiàn)方法詳解
本篇文章是對c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05windows系統(tǒng)下,如何在C#程序中自動(dòng)安裝字體
在Windows系統(tǒng)中,原有自帶的字體樣式有限,有時(shí)候我們的程序會(huì)使用到個(gè)別稀有或系統(tǒng)不自帶的字體。因此我們需要將字體打包到程序中,當(dāng)程序啟動(dòng)時(shí),檢測系統(tǒng)是否有該字體,如果沒有則安裝該字體,也可以動(dòng)態(tài)加載字體。2020-11-11C#通過oledb訪問access數(shù)據(jù)庫的方法
這篇文章主要介紹了C#通過oledb訪問access數(shù)據(jù)庫的方法,實(shí)例分析了C#操作access數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下2015-06-06C#實(shí)現(xiàn)應(yīng)用程序的監(jiān)控與調(diào)試的示例代碼
日志記錄是軟件開發(fā)中不可或缺的功能,它能幫助開發(fā)者在應(yīng)用程序運(yùn)行時(shí)記錄重要信息,本文就來介紹一下常用日志記錄功能以及常用的日志庫,感興趣的可以了解一下2024-03-03C#生成不重復(fù)隨機(jī)數(shù)列表實(shí)例
C#生成不重復(fù)隨機(jī)數(shù)列表實(shí)例的代碼,需要的朋友可以參考一下2013-02-02適用于WebForm Mvc的Pager分頁組件C#實(shí)現(xiàn)
這篇文章主要為大家分享了適用于WebForm Mvc的Pager分頁組件,由C#實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-04-04C#和.NET生成和使用異步流的方法實(shí)現(xiàn)
異步流可以簡化異步文件的讀取、寫入和處理,本文主要介紹了C#和.NET生成和使用異步流的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03