用wpf或者blend怎么修改listbox被选中项的颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用wpf或者blend怎么修改listbox被选中项的颜色相关的知识,希望对你有一定的参考价值。
默认被选中的项底色是蓝的 太丑了 这个可以改吗
参考技术A可以改
对着listboxitem 点鼠标右键- edit template - edit a copy...- 改个名字或者保持默认
然后(截图不知道为什么上传不了,我给你文字说吧 )
你会看到
grid
fillcolor 对应的是mouseover的颜色
fillcolor2 对应的是selected的颜色
contentPresenter 这个不用管它
FocusVisualElement 对应的是focused的颜色
然后按照你自己的需要,修改它们的颜色就行了!
不懂 百度Hi我!
本回答被提问者采纳WPF问题,richtextbox控件能绑定到数据表中的一个字段吗?怎么做? listbox选中当前项的事件是啥呢?
listbox里只有SelectionChanged事件用来对选中的当前项进行操作;RichTextBox 的绑定需要自己写的方法类的,我给你代码吧~
xaml:
<RichTextBox local:RichTextBoxHelper.DocumentXaml="Binding 字段名" />
方法类 RichTextBoxHelper.cs
using System.IO; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; public class RichTextBoxHelper : DependencyObject public static string GetDocumentXaml(DependencyObject obj) return (string)obj.GetValue(DocumentXamlProperty); public static void SetDocumentXaml(DependencyObject obj, string value) obj.SetValue(DocumentXamlProperty, value); public static readonly DependencyProperty DocumentXamlProperty = DependencyProperty.RegisterAttached( "DocumentXaml", typeof(string), typeof(RichTextBoxHelper), new FrameworkPropertyMetadata BindsTwoWayByDefault = true, PropertyChangedCallback = (obj, e) => var richTextBox = (RichTextBox)obj; // Parse the XAML to a document (or use XamlReader.Parse()) var xaml = GetDocumentXaml(richTextBox); var doc = new FlowDocument(); var range = new TextRange(doc.ContentStart, doc.ContentEnd); range.Load(new MemoryStream(Encoding.UTF8.GetBytes(xaml)), DataFormats.Xaml); // Set the document richTextBox.Document = doc; // When the document changes update the source range.Changed += (obj2, e2) => if(richTextBox.Document==doc) MemoryStream buffer = new MemoryStream(); range.Save(buffer, DataFormats.Xaml); SetDocumentXaml(richTextBox, Encoding.UTF8.GetString(buffer.ToArray())); ; ); 呵呵,代码有点乱,不好意思= = 参考技术A 111
以上是关于用wpf或者blend怎么修改listbox被选中项的颜色的主要内容,如果未能解决你的问题,请参考以下文章