将两个数据/信息源绑定在一起并使它们保持同步的一般技术。
使用 DisplayMemberPath 时 WPF 中的 ListBox 绑定到什么 PropertyName?
我正在学习如何构建更复杂的数据结构,以及如何在 WPF 中绑定它们。鉴于下面的数据结构,我不知道如何调用 OnPropertyChanged() 以便 ListBox 更新...
Delphi 的“XML 数据绑定接口”功能在“列表项”上无法按预期工作
我已使用 Delphi 的“XML 数据绑定接口”从 XSD 文件创建 XML 文件,但我未能使其生成遵循所请求结构的输出。 发生这种事...
WPF DataGrid IValueConverter 仅在所选项目更改时触发,而不是在绑定值更改时触发
我已经设置了一个带有“操作”列(组合框)的数据网格。我需要确保我的其他两列的背景和读/写能力根据选择的操作而改变。我
我想知道是否可以一次将一个实体添加到多个窗口。一个例子是我有 3 个弹出窗口用于不同类型的培训。我扫描自己(条形码)和
Avalonia ReactiveUI 中如何识别触摸屏手势
我正在尝试使用 MVVM 模式来处理 Avalonia。我正在尝试创建一个识别触摸屏手势的应用程序。 到目前为止,我已经创建了带有简单图形的应用程序,但我...
ListView 不显示来自 ViewModel 的 ObservableProperty 绑定
我是 .NET MAUI/MVVM/SQLite 和 C# 的新手。我正在尝试利用 ViewModel 来绑定模型类中的数据。我可以使用模型命名空间作为我的绑定属性,而且它
Wpf 问题:带有样式的文本框不会在文本框中获取值。 (它总是空字符串)
我是wpf编程新手。当我点击按钮时。它应该向我显示文本框中的消息。但是,它仅显示一个空字符串。我的文本框使用名为“
WPF TabControl 加载多个选项卡,但所有选项卡中的内容相同
<TabControl Name="tabSections" SelectionChanged="TabControl_SelectionChanged"> <TabControl.ItemTemplate> <DataTemplate DataType="{x:Type local2:TestType}"> <StackPanel> <TextBlock Text="{Binding Name}"/> </StackPanel> </DataTemplate> </TabControl.ItemTemplate> <TabControl.ContentTemplate> <DataTemplate DataType="{x:Type local2:TestType}"> <StackPanel> <local:MyUserControl x:Name="uc1" ItemSource="{Binding}" Loaded="UcLoaded"> </local:MyUserControl> </StackPanel> </DataTemplate> </TabControl.ContentTemplate> </TabControl> 这里 MyUserControl 包含一个数据网格,它填充 TestType 的某些属性中的项目。 MyUserControl 的 ItemSource 是一个依赖属性,它保存 entore testtype 对象。 在后面的代码中,我将一个列表添加到 tabcontrol 的 ItemSource, tabSections.ItemsSource = TestTypeList;//TestTypeList是List 这样,我得到 2 个选项卡头(因为列表包含 2 个项目), 但两个选项卡都包含相同的内容(第一个内容),没有值变化。 如果我将用户控件带到 itemtemplate 而不是内容模板,则两个选项卡都会正确显示。但 UI 看起来不太好,因为表格(来自用户控件)进入了选项卡头部。 TestTypeList 中的项目数量是动态的,因此无法与 TabItem 一起使用。 请指出我哪里做错了。 我想提出一个简单的解决方案。 <TabControl ItemsSource="{Binding Items}"> <TabControl.Resources> <DataTemplate DataType="{x:Type local:AccountViewModel}"> <local:AccountUserControl/> </DataTemplate> <DataTemplate DataType="{x:Type local:AddressViewModel}"> <local:AddressUserControl/> </DataTemplate> </TabControl.Resources> <TabControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Label}"/> </DataTemplate> </TabControl.ItemTemplate> <TabControl.ContentTemplate> <DataTemplate> <ContentControl Content="{Binding }"/> </DataTemplate> </TabControl.ContentTemplate> </TabControl> MainViewModel 是 public class MainViewModel: ViewModelBase { List<ItemViewModel> _items = new List<ItemViewModel>(); public List<ItemViewModel> Items { get { return _items; } set { _items = value; OnPropertyChanged(nameof(Items)); } } public MainViewModel() { Items= [new AddressViewModel(),new AccountViewModel()]; } } ItemViewModel 是: public class ItemViewModel : ViewModelBase { string _label = ""; public string Label { get { return _label; } set { _label = value; OnPropertyChanged(nameof(Label)); } } } AccountViewModel 是: public class AccountViewModel : ItemViewModel { string _AccountNumber = ""; public string AccountNumber { get { return _AccountNumber; } set { _AccountNumber = value; OnPropertyChanged(nameof(AccountNumber)); } } string _bank = ""; public string Bank { get { return _bank; } set { _bank = value; OnPropertyChanged(nameof(Bank)); } } public AccountViewModel() { Label = "Account"; Bank = "People Bank"; AccountNumber = "791800"; } } AddressViewModel 是: public class AddressViewModel : ItemViewModel { string _address = ""; public string Address { get { return _address; } set { _address = value;OnPropertyChanged(nameof(Address)); } } string _city = ""; public string City { get { return _city; } set { _city = value; OnPropertyChanged(nameof(City)); } } public AddressViewModel() { Label = "Address"; Address = "1349 BellField Way"; City = "Belleview"; } } AccountUserControl 是: <Grid> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding AccountNumber}"/> <TextBlock Text="{Binding Bank}"/> </StackPanel> </Grid> AddressUserControl 是: <Grid> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding City}"/> <TextBlock Text="{Binding Address}"/> </StackPanel> </Grid>
使用RelativeSource绑定到ViewModel不起作用
我有一个应用程序,它有一个导航菜单,可以使用命令从一个页面转到另一个页面。 导航菜单已在 Xaml 中创建,我将其存储在 Navigation.xaml 中,请参见下文 <
如何将 DataGridViewComboBoxColumn 绑定到对象?
我正在尝试将 DataGridViewComboBoxColumn 绑定到 Foo 的实例,但是当我在网格上设置值时,我收到一个 ArgumentException 告诉我无法从 String 转换为 Foo。 变量数据 = (
如何在GridView EditTemplate中设置DropDownList的SelectedValue
我正在尝试按照之前的要求执行此操作。我发现的唯一区别是上面代码中包含的附加列表项。 我尝试使用 AppendDataBoundItems=true 但它仍然不起作用...
WPF 绑定到 DataGrid 可以部分生成列标题,但不会列出项目
我正在以 mvvm 风格和对象工厂构建一个应用程序,至于我正在学习的背景,那么相当新。 抱歉,我的研究部分代码是用德语编写的。 问题 我尝试绑定一个
我在 MonkeyViewModel 中定义了一个方法 DateTime TimestampToDatetime(long Timestamp) (返回新的 DateTime(Timestamp)), 和一个变量 long DateModified,它是 Monkey Mod 中定义的时间戳...
我需要在不破坏任何逻辑的情况下更新项目的 UI(我破坏了)。 在旧的 UI 身份验证(登录页面)和其余部分(身份验证后您可以访问的其他资源)中...
使用 StringFormat 将字符串添加到 WPF XAML 绑定
我有一个 WPF 4 应用程序,其中包含一个 TextBlock,该 TextBlock 具有与整数值(在本例中为摄氏度温度)的单向绑定。 XAML 看起来像这样: 我有一个 WPF 4 应用程序,其中包含一个 TextBlock,它单向绑定到整数值(在本例中为摄氏度温度)。 XAML 看起来像这样: <TextBlock x:Name="textBlockTemperature"> <Run Text="{Binding CelsiusTemp, Mode=OneWay}"/></TextBlock> 这对于显示实际温度值来说效果很好,但我想格式化该值,使其包含°C而不仅仅是数字(30°C而不只是30)。我一直在阅读有关 StringFormat 的内容,并且看到了几个像这样的通用示例: // format the bound value as a currency <TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /> 和 // preface the bound value with a string and format it as a currency <TextBlock Text="{Binding Amount, StringFormat=Amount: {0:C}}"/> 不幸的是,我见过的所有示例都没有像我尝试那样将字符串附加到绑定值。我确信它一定很简单,但我没有运气找到它。谁能向我解释一下该怎么做吗? 您的第一个示例实际上就是您所需要的: <TextBlock Text="{Binding CelsiusTemp, StringFormat={}{0}°C}" /> 请注意,在绑定中使用 StringFormat 属性似乎仅适用于“文本”属性。 将此用于 Label.Content 将不起作用 如果您在字符串中间有 Binding 或多个绑定,那么这里有一个非常适合可读性的替代方案: <TextBlock> <Run Text="Temperature is "/> <Run Text="{Binding CelsiusTemp}"/> <Run Text="°C"/> </TextBlock> <!-- displays: 0°C (32°F)--> <TextBlock> <Run Text="{Binding CelsiusTemp}"/> <Run Text="°C"/> <Run Text=" ("/> <Run Text="{Binding Fahrenheit}"/> <Run Text="°F)"/> </TextBlock> 在 xaml 中 <TextBlock Text="{Binding CelsiusTemp}" /> 在ViewModel中,这种设置值的方式也有效: public string CelsiusTemp { get { return string.Format("{0}°C", _CelsiusTemp); } set { value = value.Replace("°C", ""); _CelsiusTemp = value; } }
在 WinUI 3 中将未知列的数据绑定到 DataGrid
我将数据存储在字典中>。 我想将它绑定到 WinUI 3 中的数据网格。列表中的元素数量对于每个键都是可变的,并且不...
如何将UserControl显示为SplitView内容? - 阿瓦洛尼亚 C#
我第一次在 VS2022 中使用 Avalonia,该应用程序包含一个由 SplitView 控件组成的基本布局,窗格中的 ListBox 充当侧边栏,当选择项目时...
最近在尝试制作一个用户聊天程序,需要使用WPF ListView来一一展示聊天消息。为了使维护更容易,我决定使用自定义组件作为单个...
Powershell + WPF - TreeListView 分层复选框
我有一个问题。我需要创建带有复选框的动态创建的 TreeListView 。我已经有了,但我需要做的是,当选择父节点时,自动选择所有子节点。怎么...
如何在 XAML 中指定 DataGrid 的 ItemsSource 类型?
我将 DataGrid 绑定到 ICollectionView,以便可以有效地过滤 ItemsSource,但 ICollectionView 不是泛型类型(如 CollectionView) - 它是 List 类型<