这个标签在不同的环境中意味着不同的东西;考虑使用较少模糊的标签来代替或另外。常见含义包括:依赖项注入和数据绑定到对象和应用程序组件之间的绑定。
我需要将数据库中的表设置为 WPF 中 GridGrid 的数据源。在 Windows 窗体中,该属性称为 DataSource,但在 WPF 中不存在这样的属性,那么我该怎么做呢?
使用 8.2.2 MVVM CommunityToolkit 从侧线程更新 UI
当我修改变量时,UI 不会更新。更新变量的函数是由另一个线程中触发的事件触发的。 我试图回到主线程
将@Observable添加到类中会导致不可变属性不会被解码......SwiftUI中的警告
我有一个非常简单的应用程序。它从 JSON 文件加载程序员数据,对其进行解码并在文本视图中显示程序员的姓名、地址和城市。 结构 DecodeJson: 查看 { @State var解码文本:
C#、WPF、将 List<string> 绑定到 DataGrid
我无法将列表绑定到 DataGrid。它应该尽可能简单。我是 WPF 新手,这是为了我的个人教育。 我有一个视图(编辑器)、视图模型(VMText)和数据(JustText)...
我正在使用免费主题 Matero 开发解决方案 Angular 16 Material。 我从可下载的演示开始,所以 Angular Core ^16.2.7 等(https://github.com/ng-matero/ng-matero/blob/main/package...
我编写了一个用户控件MyCustomToggleButton,它封装了一个切换按钮。我想根据切换按钮的 IsChecked 属性显示或隐藏网格。我添加了一个依赖属性 Ex...
我在模型中有一个列表,我在视图中使用它来添加内容或从视图模型中删除其中的内容。然后,通常我可以转到其他页面并在组合框中查看列表。但现在不显示了...
这是一个演示我所看到的示例: 结构 Tapper:视图 { @Binding varincrementMe:Int var body: 一些视图 { Button("带绑定的按钮") {
我是 WPF 开发新手,正在尝试为复杂的参数模型制作用户界面。在我的 ViewModel 中,有我编写的 Configuration 类的两个实例:WorkingConfig 是
尝试通过 http://www.example.com/WS/myExchange.svc 打开 WCF WebService 时不断收到错误消息: 系统参数异常 已添加具有相同密钥的项目。 系统。
我在下面定义了这个用户界面。一切工作正常,除了重置按钮更改模型但它不会更新视图。如果我浏览其中一个文本字段,视图会立即更新。 我...
与 C# WPF MVVM 相关,如何在“视图”中绑定 TexBox.Text,并更改“模型”文件中字符串的内容?
我正在使用 C#、WPF、MVVM 迈出第一步。我正在尝试实现一个简单的串行终端。我实际上已经快完成了。我可以单击 MainView 中的按钮,也可以评估组合框中的值...
如何使用 SwiftUI 在 CoreData 中的一对多关系上进行 ForEach?
我目前正在使用 CoreData 开发 SwiftUI 应用程序。我目前在 CoreData 中定义了 2 个实体。 与代码: 扩展 CoreDataRecipe:可识别 { @nonobjc 公共类函数
WPF DataGrid 不使用 DataTemplate 和 DataTriggers 显示数据
我有ViewModel 公共类视图模型 { 公共字符串测试字段{获取;放; } 公共 ObservableCollection TestCollection { 获取;放; } 公共视图模型() { ... 我有视图模型 public class ViewModel { public string TestField { get; set; } public ObservableCollection<object> TestCollection { get; set; } public ViewModel() { TestField = "ABCD"; } } 我想根据 TestField 的值使用不同的 DataGridTemplateColumns。 DataGrid 将 TestCollection 作为其 ItemSource,并且在 DataTemplate 中,我想使用 ItemSource 中的项目。不过DataTemplate的选择需要依赖于TestField。 问题在于 TestField 位于 TestCollection 的上下文之外。 一种解决方案是使用转换器将 TestField 属性绑定到 CellTemplate 属性。 如果 TestField 属性在创建 ViewModel 实例后可以更改,则需要通过 INotifyPropertyChanged.PropertyChanged 事件提供其更改的通知。在我的示例中,这是通过 ViewModelBase 基类的方法完成的: public class TestFieldViewModel : ViewModelBase { public string TestField { get => Get<string>(); set => Set(value); } public ObservableCollection<object> TestCollection { get; /*set;*/ } = new(); public TestFieldViewModel() { foreach (var item in "Example") { TestCollection.Add(item); } // асинхронная смена значения с целью тестирования Task.Run(async () => { while (true) { await Task.Delay(2000); TestField = TestField == "ABCD" ? string.Empty : "ABCD"; } }); } } public class TestFieldTemplateConverter : IValueConverter { public DataTemplate Default { get; set; } public DataTemplate ABCD { get; set; } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return value switch { "ABCD" => ABCD, _ => Default }; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } <Window ---------------------------- ---------------------------- DataContext="{DynamicResource vm}"> <Window.Resources> <local:TestFieldViewModel x:Key="vm"/> </Window.Resources> <Grid> <DataGrid ItemsSource="{Binding TestCollection}"> <DataGrid.Resources> <DataTemplate x:Key="default"> <TextBlock Text="Default"/> </DataTemplate> <DataTemplate x:Key="ABCD"> <TextBlock Text="ABCD"/> </DataTemplate> <local:TestFieldTemplateConverter x:Key="templateConverter" Default="{StaticResource default}" ABCD="{StaticResource ABCD}"/> </DataGrid.Resources> <DataGrid.Columns> <DataGridTemplateColumn CellTemplate="{Binding TestField, Source={StaticResource vm}, Converter={StaticResource templateConverter}}"> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </Grid> </Window>
我在绑定到自定义控件上的依赖属性时遇到问题。 这是我的自定义控件。它基本上是一个文本框,只允许数字输入并公开“值”依赖项
我想触发一个没有值的@Input setter,因此使用RxJS的Subject()。 然而,这只发出一次,显然是因为值没有改变。 我怎样才能让输入随时触发...
我正在尝试修改 XAML 中复选框的可见性。我已经这样做了如下: XAML 摘录: 我正在尝试修改 XAML 中 CheckBox 的可见性。我已经这样做了: XAML 摘录: <CheckBox Content="RES" IsChecked="{Binding Unit.Reserved}" Name="chk_Reserved" Visibility="{Binding Res_Visible}" ToolTip="Gereserveerd"> </CheckBox> ...但是,在调试时,如果我转到“实时可视化树”,我会在属性列表中看到以下内容: 如您所见,有一个针对 IsChecked 属性的绑定表达式,但没有针对 Visible 属性的绑定表达式,尽管这是 XAML 所期望的。 有人知道这是怎么可能的吗? (Visible属性不是“可绑定的”吗?) 在此,Res_Visible属性的定义: public class CassetteLevelViewModel:BaseViewModel { ... public Visibility Res_Visible { get; set; } ... Visibility 似乎是System.Windows.Visibility。它是否正确? (我以为还有一个UIElement.Visibility,还是我错了?) 我希望我正确理解了这个问题,您与 Res_Visible 属性进行了绑定,我怀疑您想更改可见性,但是当您从 CassetteLevelViewModel 更改它时,它不起作用。 要通知 View (Xaml) 您的情况下 ViewModel 中的属性 (CassetteLevelViewModel) 已更改值,您应该在 INotifyPropertyChanged 中使用 BaseViewModel。 如果您不使用,您可以在下面找到您应该添加的内容BaseViewModel。 public class BaseViewModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } OnPropertyChanged()方法通知View属性值已经改变。 如果您已经使用,您只需要修改您的属性,如下例所示。 private Visibility _res_Visibile; public Visibility Res_Visibile { get => _res_Visibile; set { _res_Visibile = value; OnPropertyChanged(); } } 经过相当多的实验,我在属性的定义中找到了解决方案: 我变了: public Visibility Res_Vis {get;set;} 进入: public Visibility Res_Vis {get;set;} = Visibility.Hidden; 现在一切正常。
绑定到 SwiftData @Query 数组中第一个元素的属性
我有一个 SwiftData 模型播放器,数据库中应该只有 0 或 1。当用户位于主菜单并点击“开始新游戏”时,我会引导他们通过几个屏幕来选择...
WPF:如何从 DatagridHeader 的 ContentTemplate 绑定到字典项
我正在尝试在数据网格标题上使用组合框实现过滤弹出窗口。我正在尝试将弹出窗口内组合框的项目源绑定到相关列的内容。 为了做到这一点,我
我正在尝试将命令绑定到毛伊岛地图上的标记单击事件。我使用 DataTemplate 绑定了引脚。我可以通过 MainPage.xaml.cs 让它工作,但我的应用程序正在使用 viewModel。我不能