Tag: xaml

格式化MultiBinding TimeSpan以隐藏毫秒

我目前正在尝试将WPF TextBlock多绑定到TimeSpan属性。 以下作品: 不幸的是,使用MultiBinding“销毁”StringFormat并在旁边显示毫秒(虽然通过StringFormat隐藏)。 以下不起作用: 在实际的MultiBinding中使用时,相同的StringFormats不起作用(例如: )。 我应该如何构造我的StringFormat?

ListView.ItemContainerStyle IsSelected属性似乎不影响WinRT上的选择

我试图在调试问题期间直接使用IsSelected set设置为true(w / o绑定)(最后我尝试使用绑定,但是发现即使w / o绑定也不起作用)。 以下代码在WPF(所有选定项目)中正常工作但在WinRT上不起作用(执行后未选择任何项目)。 这是一个错误/function吗? 以下XAML将在WPF窗口和WinRT页面中编译。

双击datagrid时出现问题

我在C#代码中的数据网格上有以下内容: 除非用户首先选择行(单击)然后尝试双击该行,否则它大部分都有效。 在这种情况下,CmdTransUnitFillerRowDblClick代码永远不会被触发进行处理。 那么,当行已被选中时,如何在双击时正确触发CmdTransUnitFillerRowDblClick? 有人可能会问: private void ExecutecmdTransUnitFillerRowDblClick(object parameter) { if (DgTransUnitFillerSelectedItem != null) TransUnitFillerDoubleClick(DgTransUnitFillerSelectedItem.CollectionRowId); }

为什么DataTemplate.LoadContent()不尊重模板定义的触发器?

TL-DR版本: 我们试图找出触发器生效的DataTemplate的自动应用与手动调用触发器无效的DataTemplate.LoadContent()之间的区别。 现在细节…… 但首先,我首先要说的是,这个问题是为了帮助我们理解框架及其在内部所做的工作,因此,相关代码严格来说明问题本身,并不代表我们的实际代码。 正如他们所说,它仅用于说明目的。 (只是试图避免不可避免的’我不明白你想要做什么’或’那不是我会怎么做’的回应。再一次,它只是为了支持这个问题。希望这是有道理的。) 也就是说,考虑这个XAML定义一个String的DataTemplate有两个触发器(每个触发器都针对不同的元素)…… xmlns:system=”clr-namespace:System;assembly=mscorlib” … 然后在XAML中该模板在范围内的另一个位置,我们有… ……按预期工作。 在代码中,我们可以像这样访问扩展模板(Border)的根元素… var expandedTemplateRootElement = VisualTreeHelper.GetChild(TestPresenter, 0) as FrameworkElement; ……但触发器的应用方式和位置如何? 它们显然有效,但expandTemplateRootElement.Triggers.Count和TestPresenter.Triggers.Count都返回零。 正如问题标题中所述,如果我们尝试手动扩展DataTemplate中的内容,就像这样…… var rawContents = “Show me the money!”; var dataTemplateToUse = TestPresenter.FindResource(new DataTemplateKey(rawContents.GetType())); var expandedTemplateRootElement = dataTemplateToUse.LoadContent() as FrameworkElement; expandedTemplateRootElement.DataContext = rawContents; SomeOtherPresenter.Contents = expandedTemplateRootElement; …虽然这确实在第二个ContentPresenter中显示了Border和TextBlock(在这里称为SomeOtherPresenter),而dataTemplateToUse.Triggers 确实显示了两个已定义,但它们不起作用! 我想知道 a)为什么不,和 b)如何启用/应用它们。 当然,“作弊”只是简单地启动新的ContentPresenter,设置其内容,然后将其ContentTemplate设置为相关的DataTemplate。 然后你可以把整个东西塞进另一个ContentPresenter中,让框架担心细节,比如这…… var rawContents […]

如何在WPF中设置按钮的背景颜色?

如何在xaml中设置按钮的背景颜色? 它不会比这更难 但这不起作用……为了避免混淆,这里的按钮是System.Windows.Controls.Button 编辑 我忘了提到我使用DevExpress的ThemeManager但不认为这会导致问题,因为DevExpress他们没有设计标准的Windows按钮…但显然他们这样做,这基本上使得无法改变按钮的背景颜色没有一些重要的工作……

如何在textBlock上设置on click效果并打开一个新的WPF窗口?

嗨,我是WPF的新手,我正在努力学习它。 所以现在我想知道如何在ListBox中的文本块上创建onclick效果。 我想点击listBox中的任何项目并打开一个新窗口。 我一定做错了什么,但我不知道它是什么。 到目前为止,我有以下内容。 上面的代码在我的XAML文件中。 如果是这样,我还需要其他东西。 应该在哪里?

有条件地加载WPF控件

鉴于: 我在stackpanel中有两个控件(control1和control2),而且我一次只想显示一个控件。 如代码所示,控件的可见性由“IsDateReadOnly”和“CanShowDateControl”驱动。 并且,根据我的viewmodel逻辑… CanShowDateControl =!IsReadOnly。 所以,有一段时间我只会显示两个控件中的一个。 问题:我的问题是,虽然我一次只显示一个控件,但我的xaml正在创建两个控件的实例。 是否可以创建仅显示我正在显示的控件的实例? 给那个: 1)我想使用绑定显示/隐藏,因此逻辑位于我的viewmodel中。 2)我可以将这两个控件保存在一个包装器控件中。 因为我在不同的地方使用它。 谢谢你的关注。

SpellCheck .Net课程是否支持俄语?

当我在我的代码中使用这样的结构并在文本框中键入俄语文本时,没有任何反应: 虽然我正在使用这种结构,但英文文本已经过拼写检查,但不是俄语 我做错了什么? 如何查看其他语言的拼写? 或者也许有人可以建议我检查俄语?

如何将TreeViewItem放入生成的TreeViewItem?

C#: TreeViewItem treeItem = null; treeItem = new TreeViewItem(); treeItem.Header = “Audit”; foreach (cAuditTransactionTypeEntity tt in _Pot) { char[] charsToTrim = {‘ ‘, ‘\t’ }; treeItem.Items.Add(new TreeViewItem() { Header = tt.TransactionType, Name = tt.TransactionType.Replace(” “, “”)}); } ToDoList.Items.Add(treeItem); XAML: 我已将TreeViewItems添加到TreeView ,如上所示。 现在我需要在每个生成的TreeViewItems下添加更多项目。 但是,如XAML(也在上面)中所示,新生成的项目尚未添加,因此我无法将它们命名为在代码中引用它们。 treeItem.Items.Add(new TreeViewItem() { Header = tt.TransactionType, Name = tt.TransactionType.Replace(” “, “”)}); 因此,我在代码的这一部分添加了名称生成。 […]

如何将Func 绑定到视图模型的XAML中的依赖属性?

我在AutoFilteredComboBox中有一个依赖属性: public Func theFilter { get { return (Func)GetValue(theFilterProperty); } set { SetValue(theFilterProperty, value); } } // Using a DependencyProperty as the backing store for theFilter. This enables animation, styling, binding, etc… public static readonly DependencyProperty theFilterProperty = DependencyProperty.Register( “theFilter”, typeof(Func), typeof(AutoFilteredComboBox), new UIPropertyMetadata(null)); XAML中的绑定是: 视图模型中的TheFilter是: public Func TheFilter = (o, prefix) => o.Companyname.StartsWith(prefix); 所有编译都没有difficutly,但依赖属性 […]