亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UWP 向 Grid 多個單元格添加拖放操作

UWP 向 Grid 多個單元格添加拖放操作

C#
狐的傳說 2021-11-28 20:00:13
我想用 UWP(通用 Windows 平臺)構建一個應用程序。使用應用程序,我想實現“拖放”功能。我使用了一些名為“AllowDrop”和“DragOver”的屬性。但是我遇到了網格或一些 xaml 層次結構的問題。當我將任何文件拖放到應用程序的任何位置時,我希望應用程序接受它。但有一個未知問題,應用程序只接受文件的特定區域。我希望以下圖片可以幫助您了解我遇到的問題。 我的意圖(左)但它有效(右)下面是源代碼(一個是xaml源,一個是csharp)。<Page     x:Class="eeee_textRandomizeUWP.MainPage"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:local="using:eeee_textRandomizeUWP"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d"    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">    <Grid AllowDrop="True" DragOver="Grid_DragOver">        <Grid.RowDefinitions>            <RowDefinition Height="6*"/>            <RowDefinition Height="*"/>        </Grid.RowDefinitions>        <Grid.ColumnDefinitions>            <ColumnDefinition Width="3*"/>            <ColumnDefinition Width="*"/>        </Grid.ColumnDefinitions>        <StackPanel>            <TextBlock Text="??? ?????" FontSize="{ThemeResource ListViewHeaderItemThemeFontSize}" Margin="20, 0, 0, 0"/>            <ListView Name="MainFileList">                <ListViewItem>                    <StackPanel Orientation="Horizontal">                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" />                     </StackPanel>                </ListViewItem>            </ListView>        </StackPanel>     </Grid></Page>我認為我對 Csharp 部分沒有問題,但對 xaml 部分沒有問題。我想知道它只適用于一個網格單元,即使我從字面上向“主網格”添加拖動動作。我說過拖放僅適用于網格的一個單元格。但是當我考慮單元格的高度時,有效區域太小了。當我發現這個問題時,我將我的動作移到了“頁面”標簽。但它的工作原理與“網格”標簽中的動作相同。我不知道我的問題是什么。
查看完整描述

2 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

它在 Grid 標簽中不起作用,因為您有另一個框覆蓋它,因此您將任何東西拖到另一層之上,而不是網格本身。


查看完整回答
反對 回復 2021-11-28
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

我最終得到了這個來源。只需在網格標簽的末尾添加畫布標簽。我仍然想知道我為什么要這樣做。但它有效。不要減去 Canvas 的背景設置。


<Page 

    x:Class="eeee_textRandomizeUWP.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:local="using:eeee_textRandomizeUWP"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d"

    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">


    <Grid >

        <Grid.RowDefinitions>

            <RowDefinition Height="6*"/>

            <RowDefinition Height="*"/>

        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="3*"/>

            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions>


        <StackPanel>

            <TextBlock Text="??? ?????" FontSize="{ThemeResource ListViewHeaderItemThemeFontSize}" Margin="20, 0, 0, 0"/>

            <ListView Name="MainFileList">

                <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

                </ListViewItem>

                <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

                </ListViewItem>

                <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

                </ListViewItem>

            </ListView>


        </StackPanel>


        <ListView Grid.Column="1">

            <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

            </ListViewItem>

            <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

            </ListViewItem>


            <ListViewItem>

                    <StackPanel Orientation="Horizontal">

                       <TextBlock Text="&#xE8E5;" FontFamily="Segoe MDL2 Assets" /> 

                    </StackPanel>

            </ListViewItem>

        </ListView>


        <Canvas 

            Background="Transparent"

            Grid.RowSpan="2" 

            Grid.ColumnSpan="2" 

            AllowDrop="True" 

            DragOver="Grid_DragOver" 

            >

        </Canvas>


    </Grid>

</Page>



查看完整回答
反對 回復 2021-11-28
  • 2 回答
  • 0 關注
  • 244 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號