WPF ListBox 获取listBoxItem】的更多相关文章

1.已知item的DataContext,获取ListBoxItem 1)ItemContainerGenerator.ContainerFromItem var selectedItem = DocumentsControl.ItemContainerGenerator.ContainerFromItem(object itemModel) 注:如果开户了VirtualizingPanel.IsVirtualizing="True",不在当前显示范围内的Item是获取不了的. 2)I…
现公司项目中需要制作一个扇形菜单,菜单项是用ListBox重写Style实现的,其数据是绑定的.菜单的每一项都有Normal,MouseOver和Selected三种状态,这三种状态当然可以通过鼠标移动和点击控制,但现在要通过代码来改变控件外观实现三种状态切换,该如何处理呢?   1.WPF绑定的ListBox获取ListBoxItem   WPF中如果ListBox的ItemSource为绑定的,则ListBox.Items为绑定的数据源,而非ListBoxItem.如果直接通过如下代码会发现…
原文 获取listboxitem在ListBox中的index并转换成abcd 截图如下: 1.实现Converter  获取到listbox,并得到listitem在listbox中的index public class ItemContainerToZIndexConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globaliza…
ListBox中ListBoxItem默认是纵向排列,可以通过自定义样式,让其横向排列, 如下Demo: XAML: <Window x:Class="ListBoxItemStyleDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xam…
首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBrushKey和HighlightTextBrushKey分别代表ListBoxItem被选中时文字和背景颜色,没有Highlight的BrushKey代表ListBox没有焦点时的选中项文字和背景颜色: <ListBox> <ListBox.Resources> <Style TargetType="List…
目录 1. 改变ListBoxItem颜色 2. ListViewItem的颜色设置 注意: 本文仅讨论默认ListBoxItem和ListViewItem的鼠标指向和被选择后的前景和背景颜色设置.如果你想要更高的需求,建议写更详细的空间模板和数据模板. 返回目录 1. 改变ListBoxItem颜色 有很多改变ListBoxItem颜色的方案,比如这篇文章:自定义WPF ListBox的选择样式.不过我认为下面这种方法比较好: 过程是首先通过触发器(Trigger)先判断ListBoxItem…
原文:WPF : ListBox的几种Template属性 属性名 属性的类名 功能 示例 Template ControlTemplate 定义控件自身的外观.其子元素的布局可以自定义,也可以由ItemsPresenter定义. <Style TargetType="ListBox"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetTy…
(下图:进行多项选择的ListBox) 首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBrushKey和HighlightTextBrushKey分别代表ListBoxItem被选中时文字和背景颜色,没有Highlight的BrushKey代表ListBox没有焦点时的选中项文字和背景颜色: 1 <ListBox> 2 3 <ListBox.Resources> 4 5 &…
记录一些ListBox的用法 设置ListBox选中项的背景颜色 如何为标准的ListBox添加ItemClick事件 连续选择同一项时SelectionChanged 事件不响应的问题 1.设置ListBox选中项的背景颜色 采用模板 先看一下效果图: 在设置listbox选中样式是遇到一个问题:选中项的背景设置不起作用 经过一段时间的挣扎后找到原因,模板里的控件要设置 Background="{TemplateBinding Background}" TextBlock.Foreg…
1 <ImageBrush ImageSource="YT.CM.CommonUI;component/Resource/FloadwindowImage/middle.png"/> YT.CM.CommonUI  这是一个类库名字 Resource 这是类库下的文件夹 FloadwindowImage 是Resource下的文件夹 middle.png 是FloadwindowImage下的一张图片 若在使用上句在wpf前台获取该类库下的文件夹中的图片资源,可能会报该路径…
WPF 中获取DataGrid 模板列中控件的对像 #region 当前选定行的TextBox获得焦点 /// <summary> /// 当前选定行的TextBox获得焦点 /// </summary> public void SelectedRowTBFocus() { ) { FrameworkElement item = grid.Columns[].GetCellContent(grid.Items[SelectIndex]); DataGridTemplateColum…
ListBox获取行字符串 关键点 获取ListBox第1行的字符串 获取ListBox第2行的字符串 获取ListBox第n行的字符串 CListBox::GetText int GetText( int nIndex, LPTSTR lpszBuffer ) const;void GetText( int nIndex, CString& rString ) const; 实现过程 CString s; m_list1.GetText(0,s); MessageBox(s); 图 备注 相关…
本文来源 http://wshoufeng1989.blog.163.com/blog/static/202047033201282911633670/  风随影动的博客 使用数据库AllData ,我们的程序会从S_Province表中读取数据,并绑定! 表结构如图所示: 程序将读取城市名称,创建时间,修改时间,列在一个WPF ListBox控件.最后的ListBox如图所示: 现在来看我们的XAML文件.创建数据模板listBoxTemplate.数据模板有三块,第一块显示的是城市名称:第二…
原文:WPF 窗口句柄获取和设置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83347163 WPF 窗口句柄设置和获取 1.句柄类 WHwnd.cs public class WHwnd { /// <summary> /// 主窗体句柄 /// </summary> public static System.Windows.Interop.HwndSource Hwnd;…
C# wpf程序获取当前程序版本 /// <summary>         /// 获取当前系统的版本         /// </summary>         /// <returns></returns>         public static string GetEdition()         {             return System.Reflection.Assembly.GetExecutingAssembly().Ge…
原文:WPF 3D 获取鼠标在场景的3d坐标 上一篇中我们谈到了WPF 3d做图的一些简单原理,这里我们简单介绍一下怎样获得鼠标在场景中的3d坐标,知道了3d坐标就可以进行很多操作了: 首先介绍一下3d图形的构成以及它的一些成员属性: 在 3D 图形编程中,没有线条.Bezier 样条曲线.矩形或椭圆.每个 3D 物体都是三维坐标空间中的三角形的集合.三角形是 3D 编程的基本单位,这是因为每个单独的三角形总是能定义一个平面,而三角形集合可以模仿立体物体,甚至可以模拟曲面.3D 视图由 View…
原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e)         {             DataRowView rowView = this.listScrip.SelectedItem as DataRowView;             if (rowView == null)             {                 return;       …
原文:WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条) 对于TreeView而言: TreeViewAutomationPeer lvap = new TreeViewAutomationPeer(treeView); var svap = lvap.GetPattern(PatternInterface.Scroll) as ScrollViewerAutomationPeer; var scroll…
原文:WPF中获取鼠标相对于屏幕的位置 WPF中获取鼠标相对于屏幕的位置                                   周银辉WPF编程时,我们经常使用Mouse.GetPosition(IInputElement relativeTo)或MouseEventArgs.GetPosition(IInputElement relativeTo)来获取鼠标相对于某一界面元素的相对位置,这自然也联想到另外的一个问题:如何获取鼠标相对于屏幕的位置.  在WPF文档中找了半天也没找到…
原文:在 WPF 中获取一个依赖对象的所有依赖项属性 本文介绍如何在 WPF 中获取一个依赖对象的所有依赖项属性. 本文内容 通过 WPF 标记获取 通过设计器专用方法获取 通过 WPF 标记获取 public static IEnumerable<DependencyProperty> EnumerateDependencyProperties(object element) { if (element is null) { throw new ArgumentNullException(n…
原文:如何在 WPF 中获取所有已经显式赋过值的依赖项属性 获取 WPF 的依赖项属性的值时,会依照优先级去各个级别获取.这样,无论你什么时候去获取依赖项属性,都至少是有一个有效值的.有什么方法可以获取哪些属性被显式赋值过呢?如果是 CLR 属性,我们可以自己写判断条件,然而依赖项属性没有自己写判断条件的地方. 本文介绍如何获取以及显式赋值过的依赖项属性. 需要用到 DependencyObject.GetLocalValueEnumerator() 方法来获得一个可以遍历所有依赖项属性本地值.…
WPF ListBox 横向排列   如果只是单纯的让ListBox可以横向配列,这样很简单,只需要更改ListBox的ItemsPanel模板就可以,例如: <ListBox><ListBox.ItemsPanel><ItemsPanelTemplate><WrapPanel Orientation=”Horizontal” IsItemsHost=”True”/></ItemsPanelTemplate></ListBox.ItemsP…
布局代码: <ListBox  Name="listBox1" Width="120" Height="52"  SelectionChanged="listBox1_SelectionChanged" > <ListBoxItem Tag="Red1">Red</ListBoxItem> <ListBoxItem Tag="Yellow1"&g…
在ListBox中碰到过几个问题,现在把它写出来: 第一个就是在ListBoxItem中当我用触发器IsSelected和IsMouseOver来设置Background和Foreground的时候,Foreground是可以直接设置的,但是Background的颜色是不会改变的.网上查了下貌似是需要手动更改ListBoxItem的控件模板让其直接使用ListBoxItem的Background属性.如下: <Style x:Key="itemtemplate" TargetTy…
类似这种样式的控件,.,在横向滚动条隐藏的情况下有这样的问题.(横向滚动条显示的时候也会,,目前不知道怎么解决.) 因为这个控件偏移是利用ListBox的ItemsPanelTemplate模版里的StackPanel的宽度通过设置"(UIElement.RenderTransform).(TranslateTransform.X)"来偏移到指定位置. 所以的横向滚动条必须在最前面不能动,不然便宜位置会出错. 如图按住4,按住鼠标向下移动出ListBox,滚动条会自动跑到最后. 解决方…
ListBox的滚动方式 分为像素滚动和列表项滚动 通过ListBox的附加属性ScrollViewer.CanContentScroll来设置.因此ListBox的默认模板中,含有ScrollViewer,ScrollViewer下存放列表内容 <ScrollViewer FocusVisualStyle="{x:Null}"> <ItemsPresenter SnapsToDevicePixels="{TemplateBinding UIElement.…
今天更改ListBox,用到ItemContainerStyle设置样式,设置Style.Triggers时,BackGround和BorderBrush均无效,其他效果正常. 翻看WPF编程宝典,发现代码没问题,下载源码之后,发现效果一样不行.在群里求助之后,得到解决.win8问题,编程宝典的作者用的是win7,xp也正常,唯独win8没有效果. 原问题链接:http://stackoverflow.com/questions/491293/why-cant-i-set-the-backgro…
上图中红色框区域是一个自定义的ListBox控件,需要实现的功能是,点击红框区域中某项时,获取当前选中项的数据项 控件的MouseDown事件部分代码为: var x = TreeHelper.FindPointProperty<ListBoxItem>(this, scrollStartPoint); if (x != null) { x.IsSelected = true; ItemsControl tiles = ItemsControl.ItemsControlFromItemCont…
public partial class Example : UserControl { private ScrollViewer myScrollViewer; public Example() { InitializeComponent(); } private void ScrollViewer_Loaded(object sender, System.Windows.RoutedEventArgs e) { myScrollViewer = (sender as ScrollViewer…
WPF中只能是UI线程才可以改变UI控件相关,当采用多线程工作时,可用以下代码获取 UI线程进行操作: App.Current.Dispatcher.Invoke((Action)delegate() { //codes }…