C#實現(xiàn)win10 uwp 右擊浮出窗在點擊位置
本文主要讓MenuFlyout出現(xiàn)在我們右擊位置。
我們一般使用的MenuFlyout寫在前臺,寫在Button里面,但是可能我們的MenuFlyout顯示的位置和我們想要的不一樣。
通過使用后臺寫ShowAt的方法,我們可以通過e.GetPosition獲得鼠標(biāo)點擊位置,需要對函數(shù)傳入相對的元素,這個元素一般可以用我們點擊使用的元素,也可以使用我們的最外層Grid,這樣我們就可以獲得了鼠標(biāo)位置,也就可以顯示我們的MenuFlyout在點擊位置。
我們建一個ListView,然后綁定后臺,在我們ListView要右擊顯示我們的浮出,要求我們的浮出在我們點擊位置。
MenuFlyout可以在后臺寫,當(dāng)然寫在前臺也可以。
我們這寫在后臺,我們可以選擇Placement 顯示在我們元素的位置,但這不是我們鼠標(biāo)點擊的位置,要顯示我們鼠標(biāo)點擊的位置,其實也很簡單。我們可以從e.GetPosition(sender as UIElement)獲得鼠標(biāo)位置,把這個給MenuFlyout我們的浮出顯示在我們鼠標(biāo)點擊位置
<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>
后臺寫
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#實現(xiàn)win10 uwp 右擊浮出窗在點擊位置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實現(xiàn)方法詳解
本篇文章是對c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05windows系統(tǒng)下,如何在C#程序中自動安裝字體
在Windows系統(tǒng)中,原有自帶的字體樣式有限,有時候我們的程序會使用到個別稀有或系統(tǒng)不自帶的字體。因此我們需要將字體打包到程序中,當(dāng)程序啟動時,檢測系統(tǒng)是否有該字體,如果沒有則安裝該字體,也可以動態(tài)加載字體。2020-11-11C#通過oledb訪問access數(shù)據(jù)庫的方法
這篇文章主要介紹了C#通過oledb訪問access數(shù)據(jù)庫的方法,實例分析了C#操作access數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下2015-06-06C#實現(xiàn)應(yīng)用程序的監(jiān)控與調(diào)試的示例代碼
日志記錄是軟件開發(fā)中不可或缺的功能,它能幫助開發(fā)者在應(yīng)用程序運(yùn)行時記錄重要信息,本文就來介紹一下常用日志記錄功能以及常用的日志庫,感興趣的可以了解一下2024-03-03適用于WebForm Mvc的Pager分頁組件C#實現(xiàn)
這篇文章主要為大家分享了適用于WebForm Mvc的Pager分頁組件,由C#實現(xiàn),感興趣的小伙伴們可以參考一下2016-04-04