Wpf DataGrid ComboBox 列

ops/2025/3/15 21:17:11/

遇到的问题

  1. 最开始找到的例子要写 Convert, 感觉和 Vue-Elment 的差别比较大后面找到类似与 Vue-Element UI 的写法,
  2. 开始时数值不更新

关键代码

   <DataGridTemplateColumn Header="Digit" Width="100"><DataGridTemplateColumn.CellTemplate><DataTemplate><ComboBox ItemsSource="{Binding DataContext.DigitTypes, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"SelectedValue="{Binding DigitType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"SelectedValuePath="Id"DisplayMemberPath="Name"/></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn>

完整代码

  public class EnumDesp{public int Id { get; set; }public string Name { get; set; }}public class MainWindowViewModel : BindableBase
{private string _title = "Prism Application";public string Title{get { return _title; }set { SetProperty(ref _title, value); }}public ObservableCollection<RealDigitViewModel> Digits { get; set; }=new ObservableCollection<RealDigitViewModel>();public ObservableCollection<EnumDesp> DigitTypes { get; set; }public MainWindowViewModel(){DigitTypes = DigitTypeConverter.DigitTypes;this.Digits.Add(new RealDigitViewModel(){Name = "Abc",DigitType = 1});this.Digits.Add(new RealDigitViewModel(){Name = "Def",DigitType = 2});}}
<Window x:Class="BlankApp1.Views.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:prism="http://prismlibrary.com/"prism:ViewModelLocator.AutoWireViewModel="True"Title="{Binding Title}" Height="350" Width="525" ><Grid><Grid.RowDefinitions><RowDefinition Height="Auto"></RowDefinition><RowDefinition></RowDefinition></Grid.RowDefinitions><Button Grid.Row="0" Command="{Binding MyCommand}" Content="Me" ></Button><DataGrid Grid.Row="1" ItemsSource="{Binding Digits}" AutoGenerateColumns="False"><DataGrid.Columns><DataGridTextColumn Header="Name" Binding="{Binding Name}"/><DataGridTemplateColumn Header="Digit" Width="100"><DataGridTemplateColumn.CellTemplate><DataTemplate><ComboBox ItemsSource="{Binding DataContext.DigitTypes, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"SelectedValue="{Binding DigitType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"SelectedValuePath="Id"DisplayMemberPath="Name"/></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns></DataGrid></Grid>
</Window>

http://www.ppmy.cn/ops/27427.html

相关文章

spring boot应用停止服务需要注意的地方

Spring Boot应用实现优雅停服的关键在于确保在服务关闭之前能够完成以下几点&#xff1a; 处理完所有已接收的请求&#xff1a;确保正在处理的请求能够正常完成&#xff0c;避免数据丢失或不一致。拒绝新的请求&#xff1a;一旦开始关闭流程&#xff0c;应该立即停止接收新的外…

PHP源码_最新在线工具箱网站系统源码

项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…

方法学习后简单案例

方法简单案例 案例1&#xff1a;键盘录入一个数据n(1<n<9)&#xff0c;输出对应的nn乘法表 import java.util.Scanner; public class Test{public static void main(String[] args){Scanner scan new Scanner(System.in);System.out.println("请输入1~9的数字&…

神经网络的反向传播

梯度下降算法 &#x1f525;我们来看一下神经网络中的梯度下降算法&#x1f525; 梯度下降法是一种优化算法&#xff0c;用于寻找目标函数的最小值。梯度是一个向量&#xff0c;表示某一函数在该点处的方向导数沿着该方向取得最大值&#xff0c;即函数在该点处变化最快的方向…

Java 长字符串拼接性能优化

文章目录 引言I values 值拼接II RestController 返回参数不需要手动转JSON字符串III 多语句执行(allowMultiQueries=true)3.1 需求:通过XML手动拼接SQL实现多值插入3.2 案例引言 批量新增数据( values 值拼接 )RestController 返回参数不需要手动转JSON字符串。I values …

每天五分钟深度学习:如何理解梯度下降算法可以逼近全局最小值?

本文重点 上节课程中,我们已经知道了逻辑回归的代价函数J。要想最小化代价函数,我们需要使用梯度下降算法。 梯度下降算法地直观理解: 为了可视化,我们假设w和b都是单一实数,实际上,w可以是更高地维度。 代价函数J是在水平轴w和b上的曲面,因此曲面的高度就是J(w,b)在…

Netty学习

系列文章目录 提示&#xff1a;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、基本认识1.引入库 二、demo练习1.引入库2.读入数据 前言 一、基本认识 1.引入库 二、demo练习 1.引入库 代码如下&#xff08;示例&#xff09;&am…

「Transmitting Levels」Solution

简述题意 给定一个 n n n 个元素的环形数组 a a a&#xff0c; q q q 次查询&#xff0c;每次给定一个 k k k&#xff0c;将数组划分为若干个连续段&#xff0c;使得每一段的和都不超过 k k k&#xff0c;最小化连续段个数。 2 ≤ n ≤ 1 0 6 , 1 ≤ q ≤ 50 2 \le n \le …