首页 > 其他分享 >wpf ListViewItem 怎么设置圆角并有阴影效果,请给出 详细的 xaml代码

wpf ListViewItem 怎么设置圆角并有阴影效果,请给出 详细的 xaml代码

时间:2023-09-28 12:45:28浏览次数:31  
标签:代码 圆角 效果 xaml 阴影 ListViewItem Border wpf

以下是一段详细的 XAML 代码示例,展示了如何为 WPF 的 ListViewItem 设置圆角和阴影效果:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListViewItem">
                        <Border Background="#EFEFEF" CornerRadius="10" Margin="5"
                                BorderBrush="#CCCCCC" BorderThickness="1">
                            <Grid>
                                <!-- 设置阴影效果 -->
                                <Border CornerRadius="10" Background="White"
                                        BorderBrush="Transparent" BorderThickness="1"
                                        Margin="3"
                                        Effect="{DynamicResource ShadowEffect}">
                                    <ContentPresenter/>
                                </Border>
                            </Grid>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListView.ItemContainerStyle>
    <ListViewItem Content="Item 1"/>
    <ListViewItem Content="Item 2"/>
    <ListViewItem Content="Item 3"/>
</ListView>

在上述代码中,我们为 ListViewItem 定义了一个自定义的 ItemContainerStyle。在这个样式中,我们使用 ControlTemplate 来修改 ListViewItem 的外观。

在 ControlTemplate 内部,我们将 ListViewItem 包装在一个 Border 中,并设置 Background、CornerRadius、Margin、BorderBrush 和 BorderThickness 来实现圆角和边框效果。

然后,在 Border 内部,我们使用了一个 Grid 和另外一个 Border 来创建阴影效果。将 ContentPresenter 放置在内部 Border 中,这样 ListViewItem 的内容就会显示在这个 Border 内。

你还可以通过定义一个效果资源来实现阴影效果,如上述代码中的 ShadowEffect。你可以调整效果的属性以适应你的需求。

标签:代码,圆角,效果,xaml,阴影,ListViewItem,Border,wpf
From: https://www.cnblogs.com/simadi/p/17735489.html

相关文章

  • 记一次 .NET 某金融企业 WPF 程序卡死分析
    ##一:背景###1.讲故事前段时间遇到了一个难度比较高的dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上WinDBG说话。##二:WinDbg分析###1.为什么会卡死既然程序卡死,那肯定是被冻住了,所以看下主线程此时在做什么。......
  • 界面组件DevExpress WPF v23.2新功能预览 - 更轻量级的主题
    本文主要描述了DevExpressWPF即将在几个月之后发布的v23.2中包含的新功能,持续关注我们获取更多最新资讯哦~P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程......
  • WPF 将字符串按固定位数间隔展示
    使用转换器,将字符串值做处理:usingSystem;usingSystem.Collections.Generic;usingSystem.Globalization;usingSystem.Linq;usingSystem.Text;usingSystem.Windows;usingSystem.Windows.Data;namespaceControls.Converters{publicclassStringSpaceConvert......
  • WPF中以MVVM方式,实现RTSP视频播放
    前言视频播放在上位机开发中经常会遇到,基本上是两种常见的解决方案1.采用厂家提供的sdk和前端控件进行展示,常见的海康/大华都提供了相关sdk及文档2.开启相机onvif协议,捅过rtsp视频流进行播放,前端可以采用web方式,或者wpf中的视频控件进行展示。项目需求,决定了最终采用开启相机on......
  • [WPF] 随笔1:MVVM在ViewModel更新Image控件的BitmapImage值时报:必须在与 DependencyObj
    MVVM在ViewModel更新Image控件的BitmapImage值时报:必须在与DependencyObject相同的线程上创建DependencySource原因:必须在UI线程创建BitmapImage=>链接解决方案:使用MemoryStream加载图片,并在UI线程转换成BitmapImage=>链接接下来是我的写法Tip:我用的是MVVMLightViewM......
  • 搭建Wpf框架(17) ——大文件上传与下载
    先上效果图:大文件上传1.客户端需要按照块拆成一块一块,先计算大小,然后计算块的个数,然后按块逐个上传,代码如下:public async Task<UploadResult> UploadFileChunck(string path, Action<double> progressAction)        {            try      ......
  • async/await 致WPF卡死问题
    问题代码:xmal:一个按钮+一个显示框 1<ButtonWidth="100"Height="50"Margin="10"Click="Button_Click">test</Button>2<TextBoxx:Name="display"Width="300"Height="300"></Te......
  • WPF实现文档打印的功能
    先贴代码:privatevoidOnPrint(){vardialog=newPrintDialog();if(dialog.ShowDialog()!=true){return;}vardoc=_viewer.Document;doc.PageHeight=dialog.PrintableAreaHeight;doc.PageWidth=dialog.PrintableAreaW......
  • WPF 中使用 Pack URI
    在标记中使用PackURI在标记中,使用packURI设置某个属性的元素,从而指定packURI。例如:<elementattribute="pack://application:,,,/File.xaml"/>表1阐释了可以在标记中指定的各种绝对packURI。表1:标记中的绝对PackURI文件绝对packURI资源文件-本......
  • wpf viewmodel中控制页面焦点
    publicstaticclassFocusBehavior{privatestaticDictionary<UIElement,RoutedEventHandler>handlers=newDictionary<UIElement,RoutedEventHandler>();publicstaticbool?GetIsFocused(DependencyObjectobj){......