Tag: 数据绑定

什么时候应该在ASP.NET控件中使用#和=?

我一直在使用ASP.NET多年,但我永远不会记得使用#和=是否合适。 例如: <%= Grid.ClientID %> 要么 <%# Eval("FullName")%> 有人可以解释什么时候应该使用,这样我就可以保持直觉了吗? #仅用于支持数据绑定的控件吗?

是否有可能在XAML中绑定Canvas的Children属性?

我有点惊讶,不可能通过XAML为Canvas.Children设置一个绑定。 我不得不采取一种代码隐藏的方式,看起来像这样: private void UserControl_Loaded(object sender, RoutedEventArgs e) { DesignerViewModel dvm = this.DataContext as DesignerViewModel; dvm.Document.Items.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Items_CollectionChanged); foreach (UIElement element in dvm.Document.Items) designerCanvas.Children.Add(element); } private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { ObservableCollection<UIElement> collection = sender as ObservableCollection<UIElement>; foreach (UIElement element in collection) if (!designerCanvas.Children.Contains(element)) designerCanvas.Children.Add(element); List<UIElement> removeList = new List<UIElement>(); foreach (UIElement element […]

检测WPFvalidation错误

在WPF中,您可以使用ExceptionValidationRule或DataErrorValidationRule在数据绑定期间基于数据层中抛出的错误设置validation。 假设你有一堆这样设置的控件,并且你有一个Savebutton。 当用户单击保存button时,在继续保存之前,您需要确保没有validation错误。 如果有validation错误,你想对他们进行调查。 在WPF中,如何查找是否有任何Data Bound控件有validation错误?

将button的可见性绑定到ViewModel中的bool值

我如何将一个button的可见性绑定到我的ViewModel中的布尔值? <Button Height="50" Width="50" Style="{StaticResource MyButtonStyle}" Command="{Binding SmallDisp}" CommandParameter="{Binding}" Cursor="Hand" Visibility="{Binding Path=AdvancedFormat}" />

绑定到WPF中的方法?

在WPF的这种情况下,如何绑定到一个对象方法? public class RootObject { public string Name { get; } public ObservableCollection<ChildObject> GetChildren() {…} } public class ChildObject { public string Name { get; } } XAML: <TreeView ItemsSource="some list of RootObjects"> <TreeView.Resources> <HierarchicalDataTemplate DataType="{x:Type data:RootObject}" ItemsSource="???"> <TextBlock Text="{Binding Path=Name}" /> </HierarchicalDataTemplate> <HierarchicalDataTemplate DataType="{x:Type data:ChildObject}"> <TextBlock Text="{Binding Path=Name}" /> </HierarchicalDataTemplate> </TreeView.Resources> </TreeView> 这里我想绑定到树的每个RootObject上的GetChildren方法。 编辑绑定到一个ObjectDataProvider似乎不工作,因为我绑定到一个项目的列表,并且ObjectDataProvider需要一个静态方法,或者它创build它自己的实例,并使用它。 […]

如何将列表绑定到combobox? (的Winforms)

我想连接一个绑定源到类对象的列表,然后对象值的combobox任何人都可以build议如何做到这一点 public class Country { public string Name { get; set; } public IList<City> Cities { get; set; } public Country() { Cities = new List<City>(); } } 是我的类,我想绑定它的名称字段绑定源,然后可以与一个combobox相关联

如何使Databindingtypes安全并支持重构

当我希望将控件绑定到对象的属性时,必须将该属性的名称作为string提供。 这不是很好,因为: 如果该属性被删除或重命名,我没有得到一个编译器警告。 如果使用重构工具重命名属性,可能不会更新数据绑定。 如果属性的types是错误的,直到运行时才会出现错误,例如将整数绑定到dateselect器。 有没有一种devise模式可以解决这个问题,但仍然具有数据绑定的易用性? (这是WinForm,Asp.net和WPF以及很多其他系统的问题) 我现在已经find了“ 在C#中使用nameof()运算符的解决方法:types安全的数据绑定 ”,这对解决scheme也有很好的起点。 如果你愿意在编译你的代码后使用后处理器, notifypropertyweaver是值得一看的。 任何人都知道一个很好的WPF解决scheme时,绑定是在XML而不是C#完成?

在C#中缺lesstypes安全的数据绑定的'nameof'操作符的解决方法?

在C#中包含一个nameof符的nameof已经引起很多人的nameof 。 作为该运算符如何工作的示例, nameof(Customer.Name)将返回string"Name" 。 我有一个域对象。 我必须将其绑定。 然后我需要属性名称作为string。 我希望他们是types安全的。 我记得在.NET 3.5中遇到了一个解决方法,它提供了nameof和lambdaexpression式的function。 但是,我一直无法find这个解决方法。 任何人都可以提供解决方法给我? 如果可能的话,我也有兴趣在.NET 2.0中实现nameof的function。

什么是DataContext的?

作为将DataContext与WPF中的另一个属性关联的问题的延续。 在研究的最后,我很惊讶地发现,当人们写这样的话: <Label Content="{Binding Path=Name}" /> Content属性绑定的DataContext是Label控件本身! 它仍然有效的事实是由于来自最近的父级的DataContext值的默认inheritance。 但是,如果将此标签包装在自定义控件中,并且不希望将数据绑定到该控件的DataContext属性,则更可能喜欢: <Controls:SearchSettings Settings="{Binding Path=Settings}" /> 在这里,你是。 现在,您需要将SearchSettings控件的“设置Settings为DataContext ,对于“内部Label进行绑定,但不能,因为这将触发Settings属性的重新绑定。 我无法看到使用不同来源混合绑定属性的要点: DataContext , ElementName等。为什么我会使用DataContext ?

元素名称从ContextMenu中的MenuItem绑定

有没有人注意到ElementName绑定不能正确parsingContextMenu对象中包含的MenuItem对象? 看看这个例子: <Window x:Class="EmptyWPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" x:Name="window"> <Grid x:Name="grid" Background="Wheat"> <Grid.ContextMenu> <ContextMenu x:Name="menu"> <MenuItem x:Name="menuItem" Header="Window" Tag="{Binding ElementName=window}" Click="MenuItem_Click"/> <MenuItem Header="Grid" Tag="{Binding ElementName=grid}" Click="MenuItem_Click"/> <MenuItem Header="Menu" Tag="{Binding ElementName=menu}" Click="MenuItem_Click"/> <MenuItem Header="Menu Item" Tag="{Binding ElementName=menuItem}" Click="MenuItem_Click"/> </ContextMenu> </Grid.ContextMenu> <Button Content="Menu" HorizontalAlignment="Center" VerticalAlignment="Center" Click="MenuItem_Click" Tag="{Binding ElementName=menu}"/> <Menu HorizontalAlignment="Center" VerticalAlignment="Bottom"> <MenuItem x:Name="anotherMenuItem" Header="Window" Tag="{Binding ElementName=window}" […]