Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在uwp中增加鼠标上gridviewitem的大小?_C#_Xaml_Windows Runtime_Win Universal App_Windows 10 Universal - Fatal编程技术网

C# 如何在uwp中增加鼠标上gridviewitem的大小?

C# 如何在uwp中增加鼠标上gridviewitem的大小?,c#,xaml,windows-runtime,win-universal-app,windows-10-universal,C#,Xaml,Windows Runtime,Win Universal App,Windows 10 Universal,通常情况下,在鼠标上方会出现一个灰色边框,突出显示鼠标上方的gridviewitem。但是我想稍微增加gridviewitem的大小,就像鼠标离开时弹出一点一样,将其恢复到正常大小。请注意,大小/弹出窗口的增加不应干扰其他gridviewitems 我的代码目前非常基本: <GridView x:Name="contentGV" Margin="18,10,18,18" Width="Auto"> <GridVie

通常情况下,在鼠标上方会出现一个灰色边框,突出显示鼠标上方的gridviewitem。但是我想稍微增加gridviewitem的大小,就像鼠标离开时弹出一点一样,将其恢复到正常大小。请注意,大小/弹出窗口的增加不应干扰其他gridviewitems

我的代码目前非常基本:

<GridView x:Name="contentGV" Margin="18,10,18,18"  
                          Width="Auto">
    <GridView.ItemContainerStyle>
        <Style TargetType="GridViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
        </Style>
    </GridView.ItemContainerStyle>
    <GridView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <StackPanel Margin="5,5,25,5" MaxWidth="145" Height="220">
                    <Grid Background="{Binding LogoBG}" CornerRadius="25" Height="120" Width="120">
                        <Border Height="120" Width="120" CornerRadius="25">
                            <Border.Background>
                                <ImageBrush ImageSource="{Binding LogoUrl}" />
                            </Border.Background>
                        </Border>
                    </Grid>
                    <TextBlock x:Name="Title" 
                                   MaxLines="2" Width="120"
                                   Text="{Binding Title}" TextWrapping="WrapWholeWords"/>

                </StackPanel>
            </Grid>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

在我看来,没有完美的解决方案,因为如果我们对GridViewItem的大小进行重大更改,它将影响其他GridViewItem

解决方法之一是,我们可以在DataTemplate中更改网格的大小,这样看起来就像我们在GridViewItem上实现了一个弹出窗口

但是请注意,由于GridViewItem有一个灰色边框,并且大小固定,因此如果我们更改了很多网格,那么网格的内容可能会被截断。如果我们根据你的灰色边框对网格的大小做一点改变,效果会很好

为了改变网格的大小,一种方法是我们可以改变网格的高度和宽度。这样,它就不会改变其他控件在网格中的大小,例如文本的字体大小

另一种方法是,我们可以在网格上执行一次调整,并更改和以拉伸或收缩网格。这样,栅格内的其他控件也将被拉伸或收缩

我们可以使用VisualState或.cs代码来实现上述要求

我已经创建了一个示例,通过在网格上执行一个代码隐藏来实现它,在我处理移动操作的示例中,我使用了事件。我使用事件来处理move-leave操作,并将And值设置为1,以使GridViewItem返回到事件中的正常大小

XAML代码:

<GridView.ItemTemplate>
            <DataTemplate>
                <Grid PointerEntered="Grid_PointerEntered" PointerExited="Grid_PointerExited"> 
                   ……

                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
结果是:


谢谢。

在我看来,没有完美的解决方案,因为如果我们对GridViewItem的大小进行重大更改,它将影响其他GridViewItem

解决方法之一是,我们可以在DataTemplate中更改网格的大小,这样看起来就像我们在GridViewItem上实现了一个弹出窗口

但是请注意,由于GridViewItem有一个灰色边框,并且大小固定,因此如果我们更改了很多网格,那么网格的内容可能会被截断。如果我们根据你的灰色边框对网格的大小做一点改变,效果会很好

为了改变网格的大小,一种方法是我们可以改变网格的高度和宽度。这样,它就不会改变其他控件在网格中的大小,例如文本的字体大小

另一种方法是,我们可以在网格上执行一次调整,并更改和以拉伸或收缩网格。这样,栅格内的其他控件也将被拉伸或收缩

我们可以使用VisualState或.cs代码来实现上述要求

我已经创建了一个示例,通过在网格上执行一个代码隐藏来实现它,在我处理移动操作的示例中,我使用了事件。我使用事件来处理move-leave操作,并将And值设置为1,以使GridViewItem返回到事件中的正常大小

XAML代码:

<GridView.ItemTemplate>
            <DataTemplate>
                <Grid PointerEntered="Grid_PointerEntered" PointerExited="Grid_PointerExited"> 
                   ……

                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
结果是:


谢谢。

请参考此链接。我希望你在找那个?这一次,当你们改变物品的尺寸时,其他物品的尺寸会受到影响。在您的情况下,更好地使用listview我们无法在GridView中实现这一点,正如我们在listview中所看到的,其他项正在移动。我不想影响其他gridviewitems在这种情况下,弹出窗口应该覆盖在其他gridviewitems上。我想你可以覆盖gridviewitems的ItemsPanel。请参考此链接。我希望你在找那个?这一次,当你们改变物品的尺寸时,其他物品的尺寸会受到影响。在您的情况下,更好地使用listview我们无法在GridView中实现这一点,正如我们在listview中所看到的,其他项正在移动。我不想影响其他gridviewitems在这种情况下,弹出窗口应该覆盖在其他gridviewitems上。我想你可以覆盖gridviewitems的ItemsPanel谢谢!还有一件事,无论如何,我可以使过渡更顺利吗?网格也在变换,但正如你所看到的,它只是在右下方向上不断增大,有没有其他方法可以在所有方向上增大它,使其更加平滑?非常感谢!还有一件事,无论如何,我可以使过渡更顺利吗?网格也在变换,但正如你所看到的,它只是在右边和底部的方向上增加大小,有没有其他方法可以在所有方向上增加它,使其更加平滑?