我在堆棧網(wǎng)看到有人問(wèn) 如何拖動(dòng)一個(gè)TextBlock的文字到另一個(gè)TextBlock 于是看到一個(gè)大神給出的方法,下面我就來(lái)和大家說(shuō)下如何拖動(dòng)
一開(kāi)始我們需要一個(gè)界面,就放兩個(gè)TextBlock 一個(gè)是源,一個(gè)目標(biāo)。我們拖動(dòng)源到目標(biāo)。
<Page x:Class="Textvt.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/applicationPageBackgroundThemeBrush}"> <StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Padding="30"> <Border BorderBrush="Azure" BorderThickness="2"> <TextBlock x:Name="TextSource" Text="我是源" CanDrag="True" DragStarting="Txtsource_OnDragStarting" /> </Border> <Border Margin="20" BorderBrush="Azure" BorderThickness="2" AllowDrop="True" > <TextBlock x:Name="TextTarget" Text="目標(biāo)TextBlock" Drop="Txttarget_OnDrop" Height="50" Width="400" AllowDrop="True" DragEnter="Txttarget_OnDragEnter"/> </Border> </StackPanel> </Grid></Page>在xaml.cs 需要3個(gè)事件,開(kāi)始拖放,拖放,拖放進(jìn)入。
其中拖放進(jìn)入是設(shè)置鼠標(biāo)顯示的字和其他的東西,可以不要這個(gè)函數(shù),不會(huì)影響功能。
private void Txtsource_OnDragStarting(UIElement sender, DragStartingEventArgs args) { //開(kāi)始拖放 //設(shè)置拖放文字,文字是我們點(diǎn)擊的TextBlock args.Data.SetText(TextSource.Text); } private async void Txttarget_OnDrop(object sender, DragEventArgs e) { //如果有文字,那么就是把他放在要拖放的TextBlock bool hasText = e.DataView.Contains(StandardDataFormats.Text); //顯示復(fù)制還是沒(méi)有 //拖動(dòng)顯示可以去我之前寫(xiě)的 http://blog.csdn.net/lindexi_gd/article/details/49757187?locationNum=2&fps=1 e.AcceptedOperation = hasText ? DataPackageOperation.Copy : DataPackageOperation.None; if (hasText) { var text = await e.DataView.GetTextAsync(); TextTarget.Text += "/n" + text; } } private void Txttarget_OnDragEnter(object sender, DragEventArgs e) { bool hasText = e.DataView.Contains(StandardDataFormats.Text); e.AcceptedOperation = hasText ? DataPackageOperation.Copy : DataPackageOperation.None; if (hasText) { if (e.DragUIOverride != null) { e.DragUIOverride.Caption = "Drop here to insert text"; } } }代碼:http://download.csdn.net/detail/lindexi_gd/9739764 可以的話(huà)給點(diǎn)積分。
問(wèn)題原文:
https://stackoverflow.com/questions/41662650/how-to-move-text-from-one-textblock-to-another-textblock-using-drag-and-drop-in
本作品采用知識(shí)共享署名-非商業(yè)性使用-相同方式共享 4.0 國(guó)際許可協(xié)議進(jìn)行許可。歡迎轉(zhuǎn)載、使用、重新發(fā)布,但務(wù)必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用于商業(yè)目的,基于本文修改后的作品務(wù)必以相同的許可發(fā)布。如有任何疑問(wèn),請(qǐng)與我聯(lián)系。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注