草庐IT

c# - 绑定(bind)实际上是如何工作的?

我已经学习WPF几个月了,我对一件事很好奇。绑定(bind)实际上是如何工作的?我的意思是,发生了什么,在幕后。我不希望这里的任何人给出详细的解释,但可能是一个很好的资源或链接,可以在哪里阅读类似的内容。我一直在搜索和谷歌搜索,但到目前为止没有好的结果。我意识到要完全理解这一点,您可能必须了解框架的大部分内容,但了解一点基本知识会很棒。谢谢 最佳答案 在绑定(bind)中需要考虑两个方面,将值获取到UI以及让UI收到其DataContext更改的通知。基本上你可以将几乎任何东西绑定(bind)到任何POCO对象,该对象不需要实现任何

c# - 在 .Net 4.0 中从 .Net 4.5 绑定(bind)的延迟属性

如何在.Net4.0中实现.Net4.5的延迟属性(描述here)?我知道我无法从BindingBase继承,因为ProvideValue是密封的。我可以实现MarkupExtension,但这意味着我现在必须重写BindingExtension的所有属性,还有其他方法吗? 最佳答案 最后,我决定使用组合将DelayedBinding实现为MarkupExtension。我遇到的唯一问题是如果IProvideValueTarget中的TargetProperty为null,DataTemplatesProvideValue应该返回此

c# - 绑定(bind)到 UserControl DependencyProperty

我创建了一个带有一些DependencyProperties的UserControl(在此处的示例中只有一个字符串属性)。当我实例化Usercontrol时,我可以设置UserControl的属性,它会按预期显示。当我尝试通过绑定(bind)替换静态文本时,没有显示任何内容。我的用户控件如下所示:背后的代码是:namespaceTestUserControBinding{publicpartialclassMyUserControl:UserControl{publicMyUserControl(){InitializeComponent();this.DataContext=this

c# - CollectionViewSource 不会对属性更改进行重新排序

我正在将ItemsControl绑定(bind)到CollectionViewSource。这是代码:this.Trucks=newObservableCollection();foreach(vartruckinDataRepository.Trucks.Where(t=>t.ReadyDate.Date.Equals(this.Date))){this.Trucks.Add(truck);}this.TrucksSource=newCollectionViewSource{Source=this.Trucks};this.TrucksSource.SortDescriptions.

c# - 使用 Microsoft.Web.Administration 以编程方式安装 SSL 证书

因此Microsoft.Web.AdministrationAPI非常易于用于为站点创建HTTP和HTTPS绑定(bind):using(ServerManagermanager=newServerManager()){Sitesite=manager.Sites[siteName];site.Bindings.Clear();site.Bindings.Add("*:80:","http");site.Bindings.Add("*:443:","https");manager.CommitChanges();}但如果没有SSL证书,HTTPS绑定(bind)就毫无意义。如何使用此A

WPF ComboBox ItemTemplate 绑定(bind)到字符串集合

我在wpf中有一个组合框,它绑定(bind)到List.一切正常,但现在出于某种原因我需要绑定(bind)到项目模板。组合框的XAML是如果我的数据源是一个自定义集合,那么绑定(bind)很容易,我应该只传递自定义集合中的属性名称,但是由于绑定(bind)源是一个字符串列表,绑定(bind)属性应该是什么? 最佳答案 应该是相当于请参阅Binding.Path上的备注部分MSDN页面以获取更多详细信息。 关于WPFComboBoxItemTemplate绑定(bind)到字符串集合,我们

c# - 如何设置DataGridTextColumn的文字颜色?

我正在尝试更改DataGridTextColumn的颜色。这是我正在做的:文本设置正确,但颜色不会改变,我收到以下错误:System.Windows.DataError:2:CannotfindgoverningFrameworkElementorFrameworkContentElementfortargetelement.BindingExpression:Path=IsActive;DataItem=null;targetelementis'DataGridTextColumn'(HashCode=40349079);targetpropertyis'Foreground'(ty

c# - WPF ListViewItem 项目复选框。如何获取所有选中的项目?

我有这样的代码:产生这个窗口的:我如何知道选中了多少个复选框,并获取每个选中的CheckBox的值Tag? 最佳答案 我知道它已经过时了,但对于后代来说,如果人们对它不满意,这就是解决方案然后在cs文件中的listView1_SelectionChanged代码中privateListlstMyObject=newList();privatevoidlistView1_SelectionChanged(objectsender,SelectionChangedEventArgse){foreach(MyObjectitemine.R

c# - 将文本 block 绑定(bind)到两个属性

我有一个绑定(bind)到ItemsSource集合中的属性的文本block。我想在同一个文本block中显示该类的两个属性,但似乎我一次只能执行一个绑定(bind)。我目前有这个:Text="{BindingTitle}"但我想附加另一个属性,所以理论上应该是:Text="{BindingTitle-Author}"输出看起来像“Shakespeare-RomeoandJuliet”。我试过添加逗号、另一个绑定(bind)和其他东西,但它们都会导致抛出异常(例如,元素TextBlock上的未知属性文本)。两个属性都来自同一个类,所以我不需要有两个数据源。

c# - 如何使用来自单独的 xaml 文件的样式

我有一个列出一组颜色的styles.xaml文件。这些颜色定义了应用程序的一部分中的某些元素如何显示,从而通过转换器使用。我想在应用程序的另一部分创建这些颜色的图例,并有一个切换按钮列表,我想将背景颜色设置为styles.xaml中定义的颜色。我是否需要以某种方式将styles.xaml文件包含到定义切换按钮的xaml文件中?或者有什么方法可以直接绑定(bind)到这些颜色值? 最佳答案 将styles.xaml添加到App.xaml 关于c#-如何使用来自单独的xaml文件的样式,我们