Tag: 样式

在Code Behind中动态更改XAML样式,以便应用该样式的控件也反映了更改

我希望能够在WPF窗口中的.cs文件中设置样式属性(和值)。 我的问题是,如果我有30个矩形,所有这些矩形我想要具有相同的样式(我不想单独更新所有矩形)。 我想将它们全部设置(在xaml文件中)为相同的样式,然后更新样式以查看我喜欢的方式。 假设我在每个矩形的Xaml中设置Style = “key1” 。 然后我希望能够稍后修改“key1”,以便所有矩形都能反映出这种变化。 我试过App.xaml 在MainwWindows.xaml中 在代码背后 private void Button_Click(object sender, RoutedEventArgs e) { Style style = Application.Current.Resources[“key1”] as Style; style.Setters.Add(new Setter(Rectangle.VisibilityProperty, Visibility.Collapsed)); } 这会更新样式但不会更新矩形。 这可能吗? 有谁知道如何做到这一点? (非常感谢一个例子)。

WPF错误样式仅在选项卡控件的可见选项卡上正确呈现

我有一个数据对象用于包含支持INotifyPropertyChanged和IDataErrorInfo UI数据。 最初我将所有的UI控件显示在一个大的WPF应用程序中,很高兴看到通过这个自定义样式标记的错误: 我今天正在重新组织程序,并决定在TabControl几个页面上分发各种UI控件。 我正在使用的结构布局是: [.. various Stack Panels, Groups and UI controls moved from original layout ..] [.. various Stack Panels, Groups and UI controls moved from original layout ..] … (我正在使用AdornerDecorator因为我在之前的程序中遇到过错误样式,在交换标签页时没有重新呈现。我不记得我在哪里看到这个,但它确实帮助了我。) 现在,当我启动程序时,错误样式正确地呈现在程序启动时打开的TabItem上,但是没有在其他(隐藏) TabItem上正确呈现。 当我选择(并显示)其中一个TabItem ,会设置错误样式的工具提示,但不会显示错误图标图像。 我还测试了删除自定义样式并恢复为文本框的默认WPF错误样式,我仍然得到类似的行为,即在程序打开时隐藏的TabItem控件周围没有红框。 因此,似乎我完全遗漏了一些阻止错误样式从正确渲染除了打开选项卡Item之外的东西。 有任何想法吗? 编辑9月3日更改说明以支持更好地理解我所看到的内容 在2014年谈论Déjàvu 这是2014年11月和今天我有这个愚蠢的WPF问题,错误模板没有显示在选项卡控制器中显示的项目。 我心中的一些东西表明我以前见过这个问题。 所以我谷歌,弹出的第一件事是我自2009年以来的问题! 这次我看到dkl的评论,这是在我最后一次解决问题后添加的。 所以我按照他的方式尝试并使用了这个解决方案(效果很好,我不需要在我的选项卡控件上添加一个Adorner控件): *

在C#中保存并加载DataGridView内容和样式

我有一个包含许多列和行的DataGridView,用户可以右键单击一个单元格并从ContextMenuStrip中选择一个选项。 选项为红色,蓝色,绿色等颜色,如果用户选择红色,则所选单元格将其BackColor设置为红色,用户也可以在该单元格中写入值。 好吧,我的问题是,我找不到保存所有内容和样式的方法,所以如果用户重新打开for,dataGridView将有其最后的设置(包括单元格的BackColor和ForeColor)。 我试过这个来保存内容,它给了我错误,我不知道如何打开它。 private void button4_Click(object sender, EventArgs e) { SaveFileDialog svd = new SaveFileDialog(); svd.Filter = “XML Files (*.xml)|*.xml”; if(svd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { DataTable dt = ((DataView)this.dataGridView1.DataSource).Table; dt.WriteXml(svd.FileName); } } 如果有更好的方法来保存内容和样式,也欢迎。 提前致谢

字体不支持任何样式,如’常规”粗体”Italic’

我如何使用不支持任何类型的FontStyle的字体。 顺便说一句,我不能从它创建一个字体对象。 救命??

.Net枚举winforms字体样式?

我一直在寻找一种方法来列出使用.Net框架的给定字体的有效字体样式(即使我必须使用gdi32或其他API),因为并非所有字体都属于System.Drawing.FontStyle枚举值(粗体,斜体,常规,罢工,下划线)。 Segoe UI是一种TrueType Microsoft字体,其字体样式为:Regular,Semibold,Light,Bold,Italic和BoldItalic,这是一个不符合要求的字体的完美示例。 另一个例子是Arial,它有:常规,窄,斜体,粗体,粗体斜体,窄粗体,窄粗体斜体和窄斜体。 在Windows 7中(可能也是vista,但我没有要检查的机器)当您打开资源管理器并浏览到%SystemRoot%\ Fonts时,您将看到一个名为“字体样式”的列,其中列出了所有可用的样式对于每种字体,它告诉我有一种方法可以做到这一点,至少通过API调用。 最后,我希望枚举FontFamily列表,然后列出每个家庭的每种字体样式。 下面列出了所有字体系列的示例代码,如果有人可以提供帮助列出每个家庭可用的字体样式,我将不胜感激。 如果我以错误的方式解决这个问题,我绝对乐于接受建议。 Drawing.Text.InstalledFontCollection ifc = new Drawing.Text.InstalledFontCollection(); foreach ( FontFamily ff in ifc.Families ) { Console.WriteLine(ff.ToString()); // Something like this would be nice, but AFAIK nothing similar exists /* foreach ( FontStyle style in ff.Styles ) Console.WriteLine(style.ToString()); */ }

WPF自定义派生控件样式

我有一个从Button派生的自定义控件: class MyControl : Button{} 并且假设这个类是空的(没有成员)。 在应用程序的主窗口资源中,我使用的ResourceDictionary包含大多数WPF控件的样式(所谓的主题): 因此,窗口上的所有控件看起来都像是在该主题文件中定义的。 但是MyControl控件上的样式不受影响。 如何将MyControl看作与Button控件相同? 更新:BureauBlue.xaml中Button的样式没有键,并按以下方式定义: …

如何根据DataContext属性获取更改TextBlock颜色的触发器?

为什么以下代码会出现运行时错误: Triggers集合的成员必须是EventTrigger类型 但EventTrigger元素没有Binding属性。 那么如何根据DataContext属性更改TextBlock的颜色? XAML: 码: namespace TestTriggers { public partial class Window1 : Window { public Window1() { InitializeComponent(); DataContext = this; Status = “off”; } public string Status { get; set; } } }

如何在WPF中设置DataGrid标头的样式

我有一个像这样的DataGrid : 我如何将DataGrid Header集中DataGrid Header ? 并适用它的风格? 谢谢 编辑1): 写完这段代码后: 网格列成为: 为什么?

WPF样式按钮MouseOver问题

我试图在一个按钮上做一个简单的鼠标hover效果,它确实在鼠标结束时改变颜色,但颜色立即改为默认按钮背景……我怎样才能覆盖这种行为? 这是我的代码: Style myBtnStyle = new Style(); Trigger bla = new Trigger() { Property = IsMouseOverProperty, Value = true }; bla.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.Black)); myBtnStyle.Triggers.Add(bla); button2.Style = myBtnStyle;

iPhone喜欢WPF项目中的红色徽章通知吗?

我有一个C#WPF项目,它自动生成每日和每周报告。 我想在新的报告可用时告知用户,所以我想到了一个类似iPhone的徽章,其中新消息的数量出现在一个小红圈上: 替代文字http://sofzh.miximages.com/c%23/so3l2u.png 我想到了三张图片:如果要显示的数字很小,左右两个半圆圈的图像。 对于数字很大(123)并且不适合圆圈的情况,中间的第三个图像。 替代文字http://sofzh.miximages.com/c%23/11lr7mp.png 我想要一个有光泽的效果,所以我想到了图片。 有没有人知道如何在没有图片的情况下以编程方式执行此操作?