将两个数据/信息源绑定在一起并使它们保持同步的一般技术。
C# WPF - 如何使矩形的大小取决于项目列表中的最大项目
我有这个简单的示例程序,有 2 列。左侧的列包含一个数据网格,右侧的列中间有一个红色矩形。我想做一个装订,这样宽度/
带有 ObserveableCollection 的 WPF Listview 不会从 UdpClient 更新,而是从计时器更新
我现在尝试了几种建议的解决方案,但我陷入困境。 我有一个 WPF MVVM 应用程序,它应该列出通过 UDP 客户端传递的所有字符串并更新它。 我不知道为什么,但我的收藏得到了
我有一个 API,它返回一组模型,每个模型都有一个缩略图 ID,需要通过经过身份验证的 API 调用获取该缩略图 ID,并显示在网格中每个项目的数据模板中的图像元素中
WPF 从 Button 继承为 MyUserControl
我想在我的项目中声明 BaseButton Control 并从中扩展其他控件。我创建继承 System.Windows.Controls.Button 的类并定义 xaml。在 XAML 中, 我想在我的项目中声明 BaseButton Control 并从中扩展其他控件。我创建继承 System.Windows.Controls.Button 的类并定义 xaml。在 XAML 中,<ContentPresenter Content="{TemplateBinding Content}"/>我得到错误:内容属性未定义。 隐藏代码 public partial class BaseButton : Button { public BaseButton() { InitializeComponent(); } } XAML: <Button x:Class="BalComNew.Resource.BalcomUserControl.BaseButton" ... Name="userControl" Content="{Binding Content, ElementName=userControl}"> <Button.Style> <Style TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Border> <ContentPresenter Content="{TemplateBinding Content}" /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </Button.Style> </Button> 用途: <balcomComponent:BaseButton Click="Button_Click"> <DockPanel> Some content here </DockPanel> </balcomComponent:BaseButton> 在 XAML 中,<ContentPresenter Content="{TemplateBinding Content}"/>我得到错误:内容属性未定义。 正如emocht提到的,我忘记在ControlTemplate中指定TargetType: <ControlTemplate TargetType="Button"> <Border Background="#F6F9FC" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="4" CornerRadius="20" x:Name="Border" Padding="22 0"> <ContentPresenter Content="{TemplateBinding Content}" /> </Border> </ControlTemplate>
将 Excel 数据从 VBA 发送到 C# 以进行实时 WPF 绑定
我有一个简单的问题: 如何从 VBA 脚本将工作簿的当前实例发送到 C# 应用程序? 这背后的想法是读取 Excel 数据并启用实时数据绑定...
将 DataGridCell 内容绑定到自定义工具提示 WPF 中的文本框
我的项目中有数据网格控件,我想向数据网格单元添加工具提示。我自定义了工具提示控件并在其中放置了一个文本框控件。我尝试将单元格内容值绑定到文本框,但是......
这是我遇到过的一个棘手的问题。我选择了一个现有的存储库,其中有一些特别草率的 WPF,根本不遵守 MVVM 最佳实践。我打算重构,但我有
我正在开发一个组件,它应该能够: 按输入搜索 - 使用输入字段,触发 onBlur 事件后将调用一个函数。 onBlur 事件之后 startSearch() ...
我的原始数据中有重复的列名。我只想提取关键信息,例如“ansemis”和“mafruit”,保留一行列名,其余的
我有两个 html 组件 - 一个 和一个 。目标是随着文本框的每次击键更新标签的值。 文字输入是se...
我想使用RangeSlider,而不使用extendToolkit包。 所以我做了一个RangeSlider并开始测试。 NormalSlider 在没有 Bindingmode.Twoway 的情况下也能正常工作,所以我没有向任何绑定添加twoway。 测试结果...
无法从相应视图 .xaml 文件访问视图模型中的可观察属性 - .NET MAUI MVVM
我正在开发一个 .NET MAUI 应用程序,其中通过 Community.Toolkit.MVVM nuget 包使用 MVVM 模式。在下面的代码中,在 MorePage 上,我尝试将标题绑定到 Forecast.Name,
我需要在 WPF 网格中找到 2 个文本框。我已经找到他们两个了。 然后,我将文本框绑定到使用 INotifyPropertyChanged 的类中的属性。 第一个文本框绑定cor...
WPF Multibiding 当目标元素位于不同的 UserControl 中时如何输入 ElementName
在我的 WPF 窗口中,我有带有命令的按钮 在我的 WPF 窗口中,我有带有命令的按钮 <Button.CommandParameter> <MultiBinding Converter="{converters:Converter_MultipleCommandParameters}"> <Binding ElementName="passwordBoxSQL" /> <Binding ElementName="passwordBoxR2" /> </MultiBinding> </Button.CommandParameter> 和带有 x:Name 的密码框 <PasswordBox x:Name="passwordBoxSQL" Grid.Row="4" Grid.Column="1" Margin="0,0,10,0" VerticalAlignment="Center" /> 效果很好。 然后我将带有密码框的 Grid 移动到命名空间 XYZ.Control 中另一个名为 Test 的 UserControl。在 WPF Windows 中我使用 <Window xmlns:local="clr-namespace:XYZ.Control" .... <local:Test /> 运行程序后,一切都可以正常看到,但是出现错误: XAML 绑定失败描述 - 找不到源:ElementName=passwordBoxSQL。 我应该在 Binding ElementName 中给出什么?也许需要以不同的方式完成? 我立即警告您,我同意 @Clemens 的观点,即在子 UserControl 中按名称搜索元素是不正确的。但出于教育目的,我将向您展示一个基于将元素名称放入窗口可见性区域的解决方案。 public partial class TestUserControl1 : UserControl { public TestUserControl1() { Loaded += OnLoaded; Unloaded += OnUnloaded; InitializeComponent(); } private void OnUnloaded(object sender, RoutedEventArgs e) { Window window = Window.GetWindow(this); window.UnregisterName(nameof(passwordBoxSQL)); } private void OnLoaded(object sender, RoutedEventArgs e) { Window window = Window.GetWindow(this); window?.RegisterName(nameof(passwordBoxSQL), passwordBoxSQL); } }
我有一个 WPF 应用程序,其中有一个 TabControl,并且在某个选项卡内有一个带有验证规则的 TextBox。 验证规则工作正常,转换器工作正常,绑定正常...
我有一个 WPF 应用程序,其中有两个组合框,代表分配给某项工作的生产/制造工程师,其中 CurrentEngNotice 是相关工作: 我有一个 WPF 应用程序,其中有两个组合框,代表分配给某项工作的生产/制造工程师,其中 CurrentEngNotice 是相关工作: <TextBlock Text="Product Engineer:" Style="{StaticResource HeaderStyleTextBlock}" HorizontalAlignment="Left"/> <ComboBox Grid.Column="1" ItemsSource="{Binding ProductionEngineers}" DisplayMemberPath="FullName" SelectedValuePath="UserID" SelectedValue="{Binding CurrentEngChangeNotice.ProductEng.UserID, Mode=TwoWay}"/> <TextBlock Grid.Row="1" Text="Manufacturing Engineer:" Style="{StaticResource HeaderStyleTextBlock}" HorizontalAlignment="Left"/> <ComboBox Grid.Row="1" Grid.Column="1" ItemsSource="{Binding ManufacturingEngineers}" DisplayMemberPath="FullName" SelectedValuePath="UserID" SelectedValue="{Binding CurrentEngChangeNotice.MfgEng.UserID, Mode=TwoWay}"/> 这些组合框的绑定是有效的,因为它显示了数据库中填充内容的正确值。但是,当我从应用程序更改此字段时,该字段的设置器不会运行,因此数据库不会更新。这些是绑定属性: public Engineer ProductEng { get { return _productEngineer; } set { if (_productEngineer != value) { _productEngineer = value; OnPropertyChanged(); UpdateDatabase("PRODUCT_ENG", value.UserID); } } } public Engineer MfgEng { get { return _mfgEngineer; } set { if (_mfgEngineer != value) { _mfgEngineer = value; OnPropertyChanged(); UpdateDatabase("MFG_ENG", value.UserID); } } } 通过调试,我已经确认问题不在于 UpdateDatabase 方法,因为 setter 从未被触发。我知道这不是 NULL 问题,因为在数据库方面,我们在创建记录时应用默认的“未知工程师”,这会在我创建新记录时显示。我还可以确认这不是 DataContext 问题,因为除了这两个字段之外的每个字段都按预期触发。感觉我一定是缺少 XAML 中的某个设置,但我在这里不知所措。 像这样的绑定 SelectedValue="{Binding CurrentEngChangeNotice.ProductEng.UserID}" (默认为 TwoWay),正在改变的是 UserID 属性所持有的 Engineer 对象的 ProductEng 属性,而不是 ProductEng 属性本身。 您应该如下所示更改属性声明(假设 UserID 属性类型为字符串)。 public string ProductEngID { get { return _productEngineerID; } set { if (_productEngineerID != value) { _productEngineerID = value; OnPropertyChanged(); UpdateDatabase("PRODUCT_ENG", _productEngineerID); } } } public string MfgEngID { get { return _mfgEngineerID; } set { if (_mfgEngineerID != value) { _mfgEngineerID = value; OnPropertyChanged(); UpdateDatabase("MFG_ENG", _mfgEngineerID); } } } 并将 SelectedValue 绑定更改为: SelectedValue="{Binding CurrentEngChangeNotice.ProductEngID}" SelectedValue="{Binding CurrentEngChangeNotice.MfgEngID}"
ItemsControl 具有用于视图模型的多个 DataTemplates
是否可以将以canvas为模板的itemscontrol绑定到多个DataTemplate? 我有 2 个集合,根据类型我想在画布上显示不同的控件。 ...
我在自定义 WPF UserControl 的资源区域中定义了一个 DataTemplate,它为一堆“标志”呈现一堆彩色方块。目标是动态添加列到
Firebase Push ID 和 Polymer dom-repeat - 如何保持与子属性的双向数据绑定?
我在以下设置中使用 Firebase 和 Polymer: Firebase 数据 正如您所看到的,有几个用户及其用户 ID 和下面的卡组列表。这基本上是一个数组,但存储为
通过 ElementName/RelativeSource 进行的绑定在 ListBox 上失败,但适用于其中的项目
我有一个简单的 WPF 测试应用程序。 它是一个带有网格的窗口,包含一个显示图像元素的列表框。 当我第一次运行它时,图像扩展超出了窗口的边界,所以我绑定了它们的 Ma...