国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

WPF的ListView控件自定義布局用法實(shí)例

2020-01-24 01:03:54
字體:
供稿:網(wǎng)友

本文實(shí)例講述了WPF的ListView控件自定義布局用法。分享給大家供大家參考,具體如下:

概要:

以源碼的形式貼出,免得忘記后,再到網(wǎng)上查資料。在VS2008+SP1環(huán)境下調(diào)試通過

引用的GrayscaleEffect模塊,可根據(jù)參考資料《Grayscale Effect...》中的位置下載。

正文:

如何布局是在App.xaml中定義源碼如下

<Application x:Class="CWebsSynAssistant.App"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  xmlns:effect="clr-namespace:GrayscaleEffect;assembly=GrayscaleEffect"  StartupUri="Window1.xaml">  <Application.Resources>    <!-- ListView的布局模板-->    <ControlTemplate x:Key="myLVTemplate" TargetType="{x:Type ListView}">      <Grid>        <ScrollViewer x:Name="ScrollViewerElement"            Background="White"            VerticalScrollBarVisibility="Auto"            HorizontalScrollBarVisibility="Disabled">          <ItemsPresenter>          </ItemsPresenter>        </ScrollViewer>      </Grid>    </ControlTemplate>    <!-- ListViewItem的布局模板-->    <DataTemplate x:Key="myLVItemTemplate">      <Grid Name="myGrid" Width="70" Margin="8,8,0,0">        <Grid.RowDefinitions>          <RowDefinition Height="Auto"></RowDefinition>          <RowDefinition Height="Auto"></RowDefinition>        </Grid.RowDefinitions>        <Image Name="img" Source="{Binding Path=ISource}" HorizontalAlignment="Center"            Width="32" Height="32" Stretch="UniformToFill"            ToolTip="{Binding Path=FullFileName}" >          <Image.Effect>            <effect:GrayscaleEffect x:Name="grayscaleEffect" DesaturationFactor="1.0"/>          </Image.Effect>        </Image>        <TextBlock Name="imgTitle" Text="{Binding Path=FileName}" Grid.Row="1" HorizontalAlignment="Center"              FontSize="10" FontFamily="Arial"              ToolTip="{Binding Path=FullFileName}" Margin="4,4,4,4" TextTrimming="CharacterEllipsis" />      </Grid>      <DataTemplate.Triggers>        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,          AncestorType={x:Type ListViewItem}}, Path=IsSelected}" Value="True">          <Setter TargetName="myGrid" Property="Background" Value="White"/>          <Setter TargetName="imgTitle" Property="Background" Value="CadetBlue"/>          <Setter TargetName="imgTitle" Property="Foreground" Value="White"/>          <Setter TargetName="img" Property="Effect">            <Setter.Value>              <effect:GrayscaleEffect DesaturationFactor="0.5"/>            </Setter.Value>          </Setter>          <!--          <Setter TargetName="img" Property="Opacity" Value=".5"></Setter>          -->        </DataTrigger>      </DataTemplate.Triggers>    </DataTemplate>    <!--下面這段代碼不用,選中的時(shí)候邊框有些邊會(huì)變成藍(lán)色(不是你希望的顏色)-->    <Style TargetType="{x:Type ListViewItem}" x:Key="ItemContainerStyle">      <Setter Property="Template">        <Setter.Value>          <ControlTemplate TargetType="{x:Type ListViewItem}">            <Border x:Name="Bd" Background="{TemplateBinding Background}"                BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" >              <ContentPresenter/>            </Border>            <ControlTemplate.Triggers>              <Trigger Property="IsSelected" Value="true">                <Setter Property="Background" TargetName="Bd" Value="White"/>              </Trigger>            </ControlTemplate.Triggers>          </ControlTemplate>        </Setter.Value>      </Setter>    </Style>  </Application.Resources></Application>

如何引用在Windows1.xaml中定義源碼如下

<ListView x:Name="listView1" ItemTemplate="{StaticResource myLVItemTemplate}"     Template="{StaticResource myLVTemplate}" ItemContainerStyle="{StaticResource ItemContainerStyle}"     Margin="0,4,0,4"  MouseDoubleClick="OnLocalFSOpen" Grid.Row="2">  <!--下面定義WarpPanel,使Item項(xiàng)在容器里從左到右從上到下排列-->  <ItemsControl.ItemsPanel>    <ItemsPanelTemplate>      <WrapPanel/>    </ItemsPanelTemplate>  </ItemsControl.ItemsPanel></ListView>

參考資料:

>>WPF ListBox Tutorial
http://www.c-sharpcorner.com/uploadfile/mahesh/listbox-in-wpf/
>>Drag and drop, cut/copy and paste files with Windows Explorer
http://www.codeproject.com/Articles/14059/Drag-and-drop-cut-copy-and-paste-files-with-Window
>>Data Templating Overview
http://msdn.microsoft.com/en-us/library/ms742521.aspx
>>WPF ListBox Selection Color
http://stackoverflow.com/questions/794792/wpf-listbox-selection-color
>>WPF Tutorial - Using The ListView, Part 3 - In Place Edit
http://www.switchonthecode.com/tutorials/wpf-tutorial-using-the-listview-part-3-in-place-edit
>>Creating a Custom Markup Extension in WPF (and soon, Silverlight)
http://10rem.net/blog/2011/03/09/creating-a-custom-markup-extension-in-wpf-and-soon-silverlight
>>More WPF Custom Effects: Motion Blur and Grayscale Samples
http://windowsclient.net/wpf/wpf35/wpf-35sp1-more-effects.aspx
>>WPF Tutorial - Controls and Layout
http://www.mini.pw.edu.pl/~mossakow/materials/presentations/wpf.3.5/controls_layout/index.html
>>Grayscale Effect - A Pixel Shader Effect in WPF
http://bursjootech.blogspot.com/2008/06/grayscale-effect-pixel-shader-effect-in.html
>>ShaderPad - WPF ShaderEffects
http://shaderpad.codeplex.com/

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#窗體操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黑山县| 菏泽市| 密山市| 色达县| 凤阳县| 应城市| 石家庄市| 平定县| 阜平县| 亳州市| 团风县| 乐东| 曲沃县| 凤山县| 孟村| 六安市| 广德县| 湖州市| 镇江市| 揭东县| 皋兰县| 保亭| 梧州市| 西盟| 于田县| 通城县| 松桃| 安福县| 报价| 金秀| 定安县| 呼伦贝尔市| 潞城市| 长岭县| 都江堰市| 黄骅市| 孙吴县| 张家港市| 农安县| 扎兰屯市| 靖江市|