ListBox 控件模板

<Window x:Class="WpfApplication22.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="100" Width="300">
<Window.Resources>
<Style TargetType="{x:Type ListBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border Name="Border" Background="Azure" BorderBrush="BlanchedAlmond"
BorderThickness="1" CornerRadius="3">
<ScrollViewer Focusable="False">
<ItemsPresenter Margin="2"></ItemsPresenter>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Name="Border" Background="Azure" BorderBrush="BlanchedAlmond"
BorderThickness="1" CornerRadius="3">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="ListBoxItem.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="FontSize"
To="20" Duration="0:0:1">

</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="ListBoxItem.MouseLeave">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="FontSize"
BeginTime="0:0:0.5" Duration="0:0:0.2">

</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="BorderBrush" Value="Red"></Setter>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="BlanchedAlmond"></Setter>
<Setter TargetName="Border" Property="TextBlock.Foreground" Value="YellowGreen"></Setter>

</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<ListBox Name="listBox">
<ListBoxItem>name</ListBoxItem>
<ListBoxItem>box</ListBoxItem>
<ListBoxItem>item</ListBoxItem>
<ListBoxItem>list</ListBoxItem>
</ListBox>
</Window>

时间: 2024-10-29 13:57:00

ListBox 控件模板的相关文章

Blend 2015 教程 (四)控件模板

前一篇讲述了修改ListBox样式的方法,本篇将修改性别显示区域的样式. 1. 选择ListBox控件,编辑ItemTemplate的当前项,选择CheckBox控件,在美工板导航栏中点击CheckBox,选择 编辑模板-创建空白项,进入控件模板编辑模式. 2. 选择文档大纲面板中的Grid,在属性面板中把Width改为30. 3. 在Grid中绘制一个TextBlock并重置布局,将Text属性改为男,HorizontalAlignment属性为居中对齐. 4. 在状态面板中点击Checked

使用 xlue 实现简单 listbox 控件

基于 XLUE 实现的 listbox 控件 1. 提供增删查接口,将 obj 作为子控件添加到列表: 2. 提供 Attach/Detach 方法,可以将子控件的事件转发出来: 3. 支持滚动条: 4. 支持鼠标滚轮: 实现过程中的注意点: 1. 使用 ItemObjList 表存储 itemObj , ItemObjList 是一个数组,是 listbox 控件的数据模型: 2. 使用 EventCookieMap 表存储事件回调, Attach 时监听所有 itemObj 的事件,通过 I

WPF 中动态改变控件模板

在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面.控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能. 基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager. 假设现有两个不同的资源字典文件Dictionary1.xaml和Dictionary2.xaml存在于Themes文件夹内: 在MainPage中使用其中一个资源字典作为默认样式文件: <Win

SplendidCRM中给来自EditView中的listbox控件设置选中值或数据源

DropDownList list = this.findContol("aas") as DropDownList;list.DataSource = new DataTable() ------------------------------- Control ctl = this.FindControl("NAME");            if (ctl != null)            {                if (ctl is Dro

win32 sdk绘制ListBox控件

1>产生: [html] view plaincopy // HWND CreateLB(HWND parentWnd) { HWND hListBox=0; hListBox = CreateWindow("LISTBOX", NULL, WS_CHILD|WS_VSCROLL | WS_TABSTOP | LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS, 230, 20, 60, 80, parentWnd, (HMENU

Chapter 5. ListBox控件(双击播放图片)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace ListBox控件 { public partial class Form2

c#游戏辅助脚本教程——listbox控件

c#游戏辅助脚本学习记录(2017年9月3日) 使用思路 用 listbox 控件来显示我的所有任务和我选择的任务. 左边是listBox_已选任务 , 右边是 listBox_任务列表 双击添加内容到其他listbox列表(从任务列表→已选任务) 用到listbox的双击事件,双击事件有2个,DoubleClick  和  MouseDoubleClick 我暂时也不知道有什么区别,试了一下感觉操作一样,暂时先用DoubleClick private void listBox_任务列表_Dou

Xamarin XAML语言教程构建ControlTemplate控件模板 (四)

Xamarin XAML语言教程构建ControlTemplate控件模板 (四) 2.在页面级别中构建控件模板 如果开发者要在页面级别中构建控件模板,首先必须将ResourceDictionary添加到页面中,然后在ResourceDictionary中实现模板的构建即可,其语法形式如下: <Page> <Page.Resources> <ResourceDictionary> <ControlTemplate x:Key="KeyName"

WPF笔记(1.9 样式和控件模板)——Hello,WPF!

原文:WPF笔记(1.9 样式和控件模板)--Hello,WPF! 资源的另一个用途是样式设置: <Window >  <Window.Resources>    <Style x:Key="myStyle" TargetType="{x:Type TextBlock}">      <Setter Property="VerticalAlignment" Value="Center"