data-binding 相关问题

将两个数据/信息源绑定在一起并使它们保持同步的一般技术。

如何将UserControl显示为SplitView内容? - 阿瓦洛尼亚 C#

我第一次在 VS2022 中使用 Avalonia,该应用程序包含一个由 SplitView 控件组成的基本布局,窗格中的 ListBox 充当侧边栏,当选择项目时...

回答 1 投票 0

WPF ListView 无法显示自定义用户组件

最近在尝试制作一个用户聊天程序,需要使用WPF ListView来一一展示聊天消息。为了使维护更容易,我决定使用自定义组件作为单个...

回答 1 投票 0

Powershell + WPF - TreeListView 分层复选框

我有一个问题。我需要创建带有复选框的动态创建的 TreeListView 。我已经有了,但我需要做的是,当选择父节点时,自动选择所有子节点。怎么...

回答 1 投票 0

如何在 XAML 中指定 DataGrid 的 ItemsSource 类型?

我将 DataGrid 绑定到 ICollectionView,以便可以有效地过滤 ItemsSource,但 ICollectionView 不是泛型类型(如 CollectionView) - 它是 List 类型<

回答 3 投票 0

将前景色和工具提示绑定到 DataGrid

我有一个 DataGrid - 有 一个隐藏列 (SubjectFull) 和一个名为“Subject”的最多 60 个主题的可见列。 名为“未读”的专栏 - 这是一张图像,如果它...

回答 1 投票 0

将一个对象分配给另一个对象不会引发 WPF 中的 PropertyChanged 事件

我尝试在一个非常简单(且有效)的项目中隔离我的问题。假设我有一个包含 2 个字段的简单模型,并且我已经配置了其属性和 PropertyChanged 事件。这是一个

回答 1 投票 0

如何绑定到另一个视图的DataContext ViewModel?

我想使用来自另一个文本框(B)的值验证在文本框(A)中输入的数字。在验证中检查该值是否 a) 在恒定值范围内 (-> &qu...

回答 1 投票 0

WPF 中使用转换器的问题

我的数据库中有一个与序列化字节数组相对应的字符串。我希望能够修改该字符串中存在的字节并添加或删除其中的一些字节。 我正在转换我的字符串检索...

回答 1 投票 0

不带属性的WinForms数据绑定

在WinForms中,是否可以在不使用属性的情况下进行数据绑定? 我有一个类,它具有一些可以数据绑定的属性,但是它也有一些用户定义的自定义字段,这些字段只是

回答 1 投票 0

我在将一个控件绑定到另一个控件时遇到问题。为什么?

在我的 XAML 文件中,内容页面标签如下所示: 在我的 XAML 文件中,内容页面标签如下所示: <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:viewmodel="clr-namespace:Tester.ViewModel" x:DataType="viewmodel:Viewmodel" x:Class="Tester.View.NewDb" BackgroundColor="DarkGreen"> <ContentPage.Resources> <toolkit:InvertedBoolConverter x:Key="InvertedBoolConverter" /> </ContentPage.Resources> 所以我有一个名为 Viewmodel 的类,用于数据绑定。 我正在尝试将输入控件绑定到复选框控件,如下所示: <Entry Placeholder="Enter Database Password" Grid.Row="2" Margin="20,0,20,0" TextColor="White" x:Name="dbPasswd" BindingContext="{x:Reference chkShowPasswd}" IsPassword="{Binding IsChecked, Converter={StaticResource InvertedBoolConverter}}"/> <HorizontalStackLayout Grid.Row="2" Grid.Column="1" HorizontalOptions="Center"> <CheckBox x:Name="chkShowPasswd" VerticalOptions="Center"/> <Label Text="Show Password" TextColor="White" FontSize="Micro" VerticalOptions="Center"/> </HorizontalStackLayout> 当我运行该程序时,我收到一条错误消息: 绑定:在 Tester.ViewModel.Viewmodel.cs 上找不到属性“IsChecked” 现在我在这里有更多的入口控件,我希望将它们绑定到 Viewmodel 代码隐藏中的 ObservableObjects 以及其他任务和方法。 所以我的问题是,如何绑定我在视图模型中显示的两个控件? 在绑定源中指定对复选框的引用: <Entry x:Name="dbPasswd" Grid.Row="2" Margin="20,0,20,0" IsPassword="{Binding IsChecked, Source={x:Reference chkShowPasswd}, Converter={StaticResource InvertedBoolConverter}}" Placeholder="Enter Database Password" TextColor="White" />

回答 1 投票 0

将多个类绑定到 WPF 树视图

我的 Treeview 已正确绑定到 ClassModel,但我将有一些具有子 CADModel 的类模型,我无法让我的层次模板正常工作 提前致谢 马克 <

回答 1 投票 0

错误 XFC0045 - 如何将 CarouselView 绑定到毛伊岛的 ObservableCollection?

我正在尝试将 ObservableCollection 绑定到 。在 CarouselView 中,我有一个 ,我试图将其绑定到 ObservableCollection 中的公共属性。嗬...

回答 1 投票 0

我无法多次导航到第二页

我正在使用外壳导航,我尝试通过菜单从主页导航到第二页。第一次使用没有问题,但是当我返回到第一个屏幕广告时,尝试转到...

回答 1 投票 0

如何在xaml文件中访问ObservableCollection<Object>的字段

我正在尝试在 MAUI xaml 文件上打印我的列表的标题,但标题没有出现。我想访问标题字段和其中的其他字段。我正在使用它们来打印待办事项列表。 这是我的 xaml ...

回答 1 投票 0

将可绑定属性与命令同步

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

回答 1 投票 0

如何为数据绑定组合框预定义组合框项?

我想允许用户选择串口的波特率。 我创建了一个与串口波特率绑定的文本框,如下所示,它可以工作。 我想允许用户选择串口的波特率。 我创建了一个与串口波特率绑定的文本框,如下所示,它可以工作。 <TextBox x:Name="tbbaudRate" Text="{Binding SerialPort.BaudRate}" /> 我的问题是,有效波特率的设置是有限的。有效波特率为 { 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 }。我想将文本框更改为列出有效波特率值的组合框。 这就是我所做的。 <ComboBox x:Name="tbbaudRate" Text="{Binding SerialPort.BaudRate}" > <ComboBoxItem Content="75"/> <ComboBoxItem Content="110"/> <ComboBoxItem Content="300"/> <ComboBoxItem Content="1200"/> <ComboBoxItem Content="2400"/> <ComboBoxItem Content="4800"/> <ComboBoxItem Content="9600"/> <ComboBoxItem Content="19200"/> <ComboBoxItem Content="38400"/> <ComboBoxItem Content="57600"/> <ComboBoxItem Content="115200"/> </ComboBox> 虽然这有效,但我几乎没有问题。 当我第一次加载窗口时,未选择波特率的默认值(9600)。 这看起来不太优雅。实现这一目标的最佳方法是什么? 供参考,这是我的串口类。也像上面的代码一样丑陋。我使用 resharper 自动生成 notificationpropertychange 代码。 class SerialComm : INotifyPropertyChanged { private int[] ValidBaudRate = new[] { 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 }; //Dont know how to use this private int[] ValidDataBits = new[] { 5, 6, 7, 8, 9 }; //Dont know how to use this private SerialPort _serialPort; public SerialComm() { _serialPort = new SerialPort(); } public SerialPort SerialPort { get { return _serialPort; } set { _serialPort = value; OnPropertyChanged("SerialPort"); SerialPort.GetPortNames(); } } #region Autogenerate by resharper public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); } #endregion } 像这样改变你的组合框: <ComboBox Name="comboBox1" Width="120" ItemsSource="{Binding Path=ValidBaudRateCollection}"> <ComboBox.ItemTemplate> <DataTemplate> <Label Content="{Binding }"/> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> 将这些添加到您的SerialComm课程中: public ObservableCollection<int> ValidBaudRateCollection; public SerialComm() { this.ValidBaudRateCollection = new ObservableCollection<int>(this.ValidBaudRate); _serialPort = new SerialPort(); } 最后将它们添加到您的Window中的某个位置(例如构造函数) SerialComm s = new SerialComm(); comboBox1.DataContext = s; comboBox1.ItemsSource = s.ValidBaudRateCollection; comboBox1.SelectedIndex = 6; 注意: 这样您就可以绑定组合框值,但是将 ObservableCollection 添加到似乎位于另一层的类中可能在架构上不正确。 要使“9600”成为默认波特率,您需要添加以下行 myComboBox.SelectedIndex = 7; 9600 排在第七位 希望有帮助... 旧线程,但让我走上了正轨: 通过添加 SelectedValuePath="Content" 并将其保存到 SelectedValue 来解决它。 <ComboBox SelectedValue="{Binding LaserBaudRate, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="Content"> <ComboBoxItem Content="75" /> <ComboBoxItem Content="110" /> <ComboBoxItem Content="300" /> <ComboBoxItem Content="1200" /> <ComboBoxItem Content="2400" /> <ComboBoxItem Content="4800" /> <ComboBoxItem Content="9600" /> <ComboBoxItem Content="19200" /> <ComboBoxItem Content="38400" /> <ComboBoxItem Content="57600" /> <ComboBoxItem Content="115200" /> </ComboBox> 只需添加: private int selectedBaudRate; public Constructor() { SelectedBaudRate = Properties.Settings.Default.SelectedBaudRate; } public int SelectedBaudRate { get => selectedBaudRate; set { if (value != selectedBaudRate) { OnPropertyChanging(); selectedBaudRate = value; Properties.Settings.Default.SelectedBaudRate = value; OnPropertyChanged(); } } } <ComboBox Width="80" ItemsSource="{Binding AvailableBaudRate}" SelectedValue="{Binding SelectedBaudRate, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" />

回答 4 投票 0

禁用“文档查看器”中的“打印”按钮

我想禁用有问题的按钮。 我的代码是: 和预......

回答 1 投票 0

如何在 C# 标记中将一个视图直接绑定到另一个视图(没有 xaml,没有 ViewModel/代码隐藏)

这看起来确实是一件简单的事情,但我无法弄清楚。 我不使用 xaml、纯 C# 标记来创建视图。 我有一个 DataTemplate,我可以轻松地将视图绑定到并形成 ViewModel 代码......

回答 1 投票 0

UWP,<Button.IsEnabled><Binding.Source><Binding.Converter>

在 UWP 项目中,我无法像 WPF 中那样访问 IMultiValueConverter。 然后我尝试在 UWP 中实现类似的东西。 这是我正在做的方式: //--------------------------------- 酒吧...

回答 1 投票 0

如何在 XAML 中格式化 TimeSpan

我正在尝试格式化绑定到 TimeSpan 属性的文本块。如果该属性的类型为 DateTime,则该方法有效,但如果该属性的类型为 TimeSpan,则该方法失败。我可以使用转换器来完成它。但我是

回答 12 投票 0

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