binding 相关问题

这个标签在不同的环境中意味着不同的东西;考虑使用较少模糊的标签来代替或另外。常见含义包括:依赖项注入和数据绑定到对象和应用程序组件之间的绑定。

将字段绑定到数据库并在XamDataGrid中显示它们

早上好 我在将我的字段(所有 XamComboBoxEditors)绑定到 XamDataGrid 时面临着一个非常大的问题 在我的数据库中有 2 个表: 帐户 公共 int AccountId { 获取;放; } p...

回答 2 投票 0

为什么我的自动完成文本框事件 TextChanged 在 VB.NET 中运行得这么慢

我正在尝试使用文本框事件 TextChanged 自动完成,但使用 VB.NET 运行速度很慢。 虽然只有6条记录,我的代码有问题吗,请指导我。 我附上了一份gi...

回答 1 投票 0

标签内容上的 WPF StringFormat

我想将字符串绑定格式化为 Amount is X,其中 X 是绑定到标签的属性。 我见过很多例子,但以下不起作用: 我想将字符串绑定格式设置为 Amount is X,其中 X 是绑定到标签的属性。 我见过很多例子,但以下不起作用: <Label Content="{Binding Path=MaxLevelofInvestment, StringFormat='Amount is {0}'}" /> 我也尝试过这些组合: StringFormat=Amount is {0} StringFormat='Amount is {}{0}' StringFormat='Amount is \{0\}' 我什至尝试将绑定属性的数据类型更改为 int、string和 double。似乎什么都不起作用。这是一个非常常见的用例,但似乎不受支持。 这不起作用的原因是 Label.Content 属性的类型为 Object,并且 Binding.StringFormat 仅在绑定到 String 类型的属性时使用。 发生的事情是: Binding 正在对您的 MaxLevelOfInvestment 值进行装箱并将其存储为 Label.Content 属性作为装箱的十进制值。 标签控件有一个包含 ContentPresenter 的模板。 由于未设置 ContentTemplate,因此 ContentPresenter 会查找为 DataTemplate 类型定义的 Decimal。当它找不到时,它会使用默认模板。 ContentPresenter 使用的默认模板通过使用标签的 ContentStringFormat 属性来呈现字符串。 有两种可能的解决方案: 使用 Label.ContentStringFormat 而不是 Binding.StringFormat,或者 使用 String 属性(例如 TextBlock.Text)而不是 Label.Content 这里是如何使用Label.ContentStringFormat: <Label Content="{Binding Path=MaxLevelofInvestment}" ContentStringFormat="Amount is {0}" /> 以下是如何使用 TextBlock: <TextBlock Text="{Binding Path=MaxLevelofInvestment, StringFormat='Amount is {0}'}" /> 注意:为了简单起见,我在上面的解释中省略了一个细节:ContentPresenter实际上使用了自己的Template和StringFormat属性,但在加载过程中,它们会自动模板绑定到ContentTemplate和ContentStringFormat属性Label,所以看起来 ContentPresenter 实际上正在使用 Label 的属性。 制作一个通用的StringFormatConverter : IValueConverter。将格式字符串传递为 ConverterParameter. Label Content="{Binding Amount, Converter={...myConverter}, ConverterParameter='Amount is {0}'" 此外,当格式字符串中需要多个对象时,请使用 StringFormatMultiConverter : IMultiValueConverter,例如 Completed {0} tasks out of {1}。 我刚刚检查过,由于某种原因它不适用于 Label,可能是因为它在内部使用 ContentPresenter 来表示 Content 属性。您可以使用 TextBlock 来代替,这样就可以了。如果您需要继承样式、行为等,您也可以将下面的 TextBlock 摘录放在 Label 的内容中。 <TextBlock Text="{Binding Path=MaxLevelofInvestment, StringFormat='Amount is \{0\}'} /> 尝试使用转换器...... <myconverters:MyConverter x:Key="MyConverter"/> <Label Content="{Binding Path=MaxLevelofInvestment, Converter={StaticResource MyConverter"} /> public class MyConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return String.Format("Amount is {0}", value); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return value; } }

回答 4 投票 0

具有多个“数据切换”的引导程序控制

有没有一种方法可以通过“数据切换”将多个事件分配给引导程序控件? 例如,假设我想要一个具有“工具提示”和“按钮”切换的按钮

回答 15 投票 0

ERR_EMPTY_RESPONSE 与 docker 容器端口绑定

我已经安装了 vuejs3 并使用 node:latest 镜像在 docker 容器内 npm run dev 它。非常基本。 在容器内,它肯定是从 http://localhost:5173 开始的,因为我可以通过curl 得到响应

回答 1 投票 0

x:将嵌入页面绑定到WinUi 3中的父窗口视图模型

我正在制作欢迎屏幕,它可以导航使用主窗口中的“框架”控件显示的 5 个页面。 现在我需要 x:bind 一些控件到主窗口的视图模型,因为我......

回答 1 投票 0

Angular:双向绑定和事件绑定不起作用

我对 Angular 非常陌生,正在通过 Heroes 教程进行学习。我负责双向绑定。我已经学习了所有不同的绑定类型并尝试实现它们。

回答 1 投票 0

当 DataMember 名称与属性名称不同时,将传入的 JSON 绑定到模型

我有这个模型类,它是通过向 .NET 4.5 Web API 控制器发送 POST 请求来自动填充的。 [可序列化] [数据合同(名称=“消息”)] 公开课留言{...

回答 1 投票 0

MVVM - 当绑定属性不存在时隐藏控件

我想知道如果视图模型中不存在控件绑定的属性,是否可以隐藏视图上的控件。例如,如果我有以下内容: 我想知道如果视图模型中不存在控件绑定的属性,是否可以隐藏视图上的控件。例如,如果我有以下内容: <CheckBox Content="Quote" IsChecked="{Binding Path=IsQuoted}" /> 我可以在 XAML 中检测到视图模型上不存在 IsQuoted 属性,并简单地隐藏该实例中的控件吗? 我本质上是创建一个向导对话框,该对话框在视图模型集合中移动,显示每个视图模型的关联视图。对于集合中的某些视图模型,将存在“IsQuoted”属性,而对于某些视图模型则不存在。 我希望在这些视图之外有一个复选框,当当前视图模型具有该属性时显示,当视图模型不具有该属性时隐藏。所有视图模型都派生自一个公共基类,但我不想通过添加“ShowQuoted”属性等来弄乱基类。 想法?并且,预先感谢... 使用始终返回 Visibility.Visible 的转换器来处理该值存在的情况。通过指定回退值来处理该值不存在的情况。当该属性不存在时,绑定失败并接收后备值。 <Page.DataContext> <Samples:OptionalPropertyViewModel/> </Page.DataContext> <Grid> <Grid.Resources> <Samples:AlwaysVisibleConverter x:Key="AlwaysVisibleConverter" /> </Grid.Resources> <CheckBox Content="Is quoted" IsChecked="{Binding IsQuoted}" Visibility="{Binding IsQuoted, Converter={StaticResource AlwaysVisibleConverter}, FallbackValue=Collapsed}" /> </Grid> public class OptionalPropertyViewModel { public bool IsQuoted { get; set; } } public class AlwaysVisibleConverter : IValueConverter { #region Implementation of IValueConverter public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return Visibility.Visible; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } #endregion } 我修改了Phil的答案以使TargetNullValue起作用: public class AlwaysVisibleConverter : IValueConverter { public object? Convert(object? value, Type targetType, object parameter, CultureInfo culture) { if (value is null) { // Makes TargetNullValue work. // Apparently TargetNullValue doesn't look at the target directly, but through this converter. return null; } return Visibility.Visible; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } 并且: <CheckBox Content="Is quoted" IsChecked="{Binding IsQuoted}" Visibility="{Binding IsQuoted, Converter={StaticResource AlwaysVisibleConverter}, FallbackValue=Collapsed TargetNullValue=Collapsed}" />

回答 2 投票 0

将可绑定属性与命令同步

有没有办法在属性以指定的绑定延迟发生变化时执行命令? 作为示例,让我们使用具有 IsChecked 属性且 Delay=1000(1 秒)的 CheckBox 和调用...的 Command

回答 1 投票 0

wpf 将所有滑块“ IsEnabledProperty 绑定到数组中

首先我是wpf新手和菜鸟程序员...我有一个userControl显示超过100个滑块,我想在数组中管理它们的“IsEnabledProperty”,我正在考虑使用绑定expre...

回答 1 投票 0

WPF TextBox为所有控件设置通用的StringFormat

是否可以为项目中的所有(或部分)文本框设置 Binding 属性的 StringFormat ?是的,我可以写一些类似的东西 是否可以为项目中的所有(或部分)文本框设置 Binding 属性的 StringFormat ?是的,我可以写类似的东西 <TextBox x:Name="SetPosition" Style="{StaticResource TextBoxSmallStyle}" Text="{Binding SetPosition, Mode=TwoWay, StringFormat='{}{0:#0.0}'}" /> 但是为许多相同的文本框设置它太无聊了)))如你所见,我使用的样式包括高度,宽度等。我无法覆盖样式中的绑定属性,因为需要将此样式与任何绑定路径属性一起使用,但绑定只能完全覆盖。 哪里有解决方法? 附:我已经使用的不是标准 TextBox,而是覆盖了我的特殊功能的控件。我可以覆盖 Binding 以使用组件的代码隐藏吗? 我对在“查看”时需要“特殊”处理的属性使用(可重用)“功能”代码;例如 public string FirstName { get; set; } public string LastName { get; set; } public string FullName => this.FirstName + " " + this.LastName; ... TextBlock Text={Binding FullName} ...

回答 1 投票 0

在 C# 代码而不是 XAML 中声明的 WPF 属性

由于某些特殊原因,我在 C# 代码中声明了一个绑定,而不是像往常一样在 XAML 中声明它。我面临的问题是,当我仅更改对象的一个属性时,

回答 1 投票 0

如何在python tkinter中绑定键盘上的另一个“Enter”?

我正在用python 3.12.0编写一个tkinter应用程序,我想绑定另一个“Enter”(位于键盘的Num-Lock部分),当我按下它时,发送我的消息。 我正在使用文本小部件...

回答 1 投票 0

将属性值从父级用户控件传递到子级的 DependencyProperty

如何将属性(SomeProperty)从ParentUserControl上下文传递到ChildUserControl的DependencyProperty(MyDProperty)? 在 XAML 中,它应该是: 如何将 ParentUserControl 上下文中的 property (SomeProperty) 传递到 ChildUserControl 的 DependencyProperty (MyDProperty)? 在XAML中,应该是: 但是,由于某种原因,MyDProperty 永远不会使用 Parent.DataContext.SomeProperty 设置。 就我而言,我正在传递一个操作,但这并不重要。我认为问题出在绑定上。 家长用户控制: public Action RemoveEsl1 => throw new NotImplementedException(); <uc:ChildUserControl Title="ESL 1" RemoveEslAction="{Binding RemoveEsl1}" DataContext="{Binding Esl1}"/> 子用户控件: public static readonly DependencyProperty RemoveEslActionProperty = DependencyProperty.Register(nameof(RemoveEslAction), typeof(Action), typeof(ChildUserControl), new PropertyMetadata(delegate { })); public Action RemoveEslAction { get => (Action)GetValue(RemoveEslActionProperty); set => SetValue(RemoveEslActionProperty, value); } 我在这里找到了各种技巧,但没有一个适合我或有效。 回答我自己的问题(检查 ParentUserControl): 型号: public class RootModel : ViewModelBase { private ParentModel parentModel = new(); public ParentModel ParentModel { get => parentModel; set => RisePropertyChanged(ref parentModel, value); } } public class ParentModel : ViewModelBase { private ChildModel childModel = new(); public ChildModel ChildModel { get => childModel; set => RisePropertyChanged(ref childModel, value); } public string ParentModelProperty => "Correct value from ParentModel"; } public class ChildModel : ViewModelBase { private string childModelProperty = "Wrong default value from ChildModel"; public string ChildModelProperty { get => childModelProperty; set => RisePropertyChanged(ref childModelProperty, value); } } 主窗口: <Window.DataContext> <model:RootModel/> </Window.DataContext> <uc:ParentUserControl DataContext="{Binding ParentModel}"/> 家长用户控件: <uc:ChildUserControl ChildDependency="{Binding DataContext.ParentModelProperty, RelativeSource={RelativeSource AncestorType=UserControl}}" DataContext="{Binding ChildModel}"/> 子用户控件: <StackPanel> <Label Content="Dependency property:"/> <Label Content="{Binding ChildDependency, RelativeSource={RelativeSource AncestorType=UserControl}}"/> <Separator/> <Label Content="Property:"/> <Label Content="{Binding ChildModelProperty}"/> </StackPanel> public partial class ChildUserControl : UserControl { public static readonly DependencyProperty ChildDependencyProperty = DependencyProperty.Register(nameof(ChildDependency), typeof(string), typeof(ChildUserControl), new ("Wrong default DP value from ChildUserControl")); public string ChildDependency { get => (string)GetValue(ChildDependencyProperty); set => SetValue(ChildDependencyProperty, value); } public ChildUserControl() { InitializeComponent(); } } 这就是如何将属性 (SomeProperty) 从 ParentUserControl 上下文传递到 ChildUserControl 的 DependencyProperty (MyDProperty)。

回答 1 投票 0

WPF MVVM C# - 如何将按钮的文本绑定到 LINQ 表达式并使其动态更改?

我想将按钮文本绑定到 LINQ 表达式,如下所示: 公共字符串 CloseButtonText => Roles.Any(r => r.IsChanged) ? "保存并关闭" : "关闭"; ...但事实并非如此

回答 1 投票 0

在 Init() 期间从另一个 @ObservableObject 发布 Var

如何从初始化期间创建的另一个 ObservableObject 发布属性? 我想确保将特定值捕获为 @Published/@Binding/@State 变量(所以它是

回答 1 投票 0


从 Init() 期间创建的 @ObservableObject 发布 Var

如何从初始化期间创建的另一个 ObservableObject 发布属性? 我想确保将特定值捕获为 @Published/@Binding/@State 变量(所以它是

回答 1 投票 0

来自 @ObservableObject 的 @Binding 在 Init() 期间创建

如何绑定到初始化期间创建的 ObservableObject? 我想确保将特定值捕获为 @Binding/@State 变量(因此它始终在

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.