【WPF】后台代码实现绑定ComboBox的SelectedItem功能
WPF 开发程序目前最好的用的设计模式为MVVM模式,实现了前后端的分离,前端页面的更改不需要后台代码逻辑发生变化,同理,后台逻辑发生变化时基本上也不需要修改前台的页面布局等信息。
由于某些原因,可能导致项目不是完全按照MVVM模式进行设计了,这是要在想要使用WPF中的Binding
功能,可能就需要在后台代码逻辑中进行实现。
小编在开发过程中由于项目不是严格按照MVVM模式进行设计的,因此Binding
功能的实现就要使用编写代码的方式进行实现了。
问题:要在后台代码中实现ComboBox
的选择项发生变化时,在类中定义的一个用于记录SelectedItem
的属性要跟着变化。这个就只能在后台代码逻辑中实现
解决:
namespace CodeBehindBinding
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private ObservableCollection<string> _ItemsSources = new ObservableCollection<string>()
{
"A","B","C","D","E"
};
public string SelectedStringItem { get; set; }
public MainWindow()
{
InitializeComponent();
CodeBindingComboBox.ItemsSource = _ItemsSources;
//Binding 工作
var binding = new Binding()
{
Path = new PropertyPath(nameof(SelectedStringItem)),//要绑定的属性,必须是public类型
Source=this//定义属性所在的类
};
//设置绑定
CodeBindingComboBox.SetBinding(ComboBox.SelectedItemProperty, binding);
}
/// <summary>
/// 验证绑定是否成功
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CodeBindingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var s = SelectedStringItem;
}
}
}
这样,就实现了在后台代码中绑定相关的工作了。
作者:芝麻麻雀
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?