【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;
}
}
}
这样,就实现了在后台代码中绑定相关的工作了。
【WPF】后台代码实现绑定ComboBox的SelectedItem功能的更多相关文章
- How do I duplicate a resource reference in code behind in WPF?如何在WPF后台代码中中复制引用的资源?
原文 https://stackoverflow.com/questions/28240528/how-do-i-duplicate-a-resource-reference-in-code-behi ...
- WPF后台代码实现TextBlock滚动条
方法一: 常规的WPF操作: <ScrollViewer Width=" VerticalScrollBarVisibility="Auto" Horizontal ...
- WPF 后台代码做 TranslateTransform 的动画
本文告诉大家,在后台代码,对 TranslateTransform 做动画的方法 今天小伙伴问我一个问题,说为什么相同的代码,如果设置到按钮上,是可以让按钮的某个属性变更,但是如果设置给 Transl ...
- 7.7 WPF后台代码绑定如果是属性,必须指定一下数据上下文才能实现,而函数(click)就不用
如: private bool _IsExportWithImage; /// <summary> /// 是否选择导出曲线图 /// </summary> public bo ...
- C# Wpf 后台代码设定UIElement的Canvas位置属性值
后台in-code设定元件UIElement的Canvas位置属性的两种方法: 1.UIElement.SetValue()方法 uiElement.SetValue(Canvas.TopProper ...
- 在后台代码中动态生成pivot项并设置EventTrigger和Action的绑定
最近在做今日头条WP的过程中,遇到需要动态生成Pivot项的问题.第一个版本是把几个频道写死在xaml里了,事件绑定也写在xaml里,每个频道绑定一个ObservableCollection<A ...
- WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)
之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了. WPF就是以超吊的binding,com ...
- winform c#绑定combobox下拉框 年度代码。
winform c#绑定combobox下拉框 年度代码. comboBox1.Items.AddRange("});//邦定数据 comboBox1.Text = DateTime.Now ...
- ASP.NET WebForm中前台代码如何绑定后台变量
转载自 http://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有& ...
- WPF内嵌代码和后台代码简单混合使用
下面实例展示了WPF内嵌代码和后台代码混合使用,一个简单基础的实例: xaml文件: <Window x:Class="WPF内嵌代码和后台代码混合使用.MainWindow" ...
随机推荐
- Java(if选择、switch选择、循环)
1.if 选择结构 //语法 if(表达式){ //语句:(表达式为真) }else{ //语句:(表达式为假) } --------------------------------------- 例 ...
- 判断两个矩形是否相交(Rect Intersection)
0x00 Preface 最近在开发一个2D组态图形组件的过程中,里面的数学模块,涉及到两个矩形是否相交的判断. 这个问题很多年前就写过,算是个小的算法吧. 网络上搜索一下,有很多思路,有一些思路要基 ...
- 案例实践 | 某能源企业API安全实践
随着智能电网.全球能源互联网."互联网+电力".新电改的全面实施,分布式能源.新能源.电力交易.智能用电等新型业务不断涌现,运营模式.用户群体都将发生较大变化,电力市场由相对专业向 ...
- ReactNative原理与核心知识点
React Native特点 跨平台 使用js写出页面组件代码被React框架统一转成Virtual DOM树,Virtual DOM树是UI结构的一层抽象,可以被转换成任何支持端的UI视图. Rea ...
- k8s驱逐篇(7)-kube-controller-manager驱逐-taintManager源码分析
概述 taintManager的主要功能为:当某个node被打上NoExecute污点后,其上面的pod如果不能容忍该污点,则taintManager将会驱逐这些pod,而新建的pod也需要容忍该污点 ...
- Java 判断一个字符串是否是对称字符串 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
代码如下: public static void main(String[] args) { String str = "1QabcdcbaQ"; StringBuilder sb ...
- PHP检查更新加载本地版本号并解压覆盖
<?phperror_reporting(0);ob_implicit_flush(true);$begin = microtime(true);//检查更新,加载本地版本号$config = ...
- 一文了解 io.Copy 函数
1. 引言 io.Copy 函数是一个非常好用的函数,能够非常方便得将数据进行拷贝.本文我们将从io.Copy 函数的基本定义出发,讲述其基本使用和实现原理,以及一些注意事项,基于此完成对io.Cop ...
- 【Git】常用命令汇总
一.仓库管理 git init:本地初始化 git clone:克隆远程仓库 git remote:远程仓库管理 git remote:查看远程仓库的信息 git remote -v:显示更详细的信息 ...
- 深入探索 Django Rest Framework
这篇文章会详细介绍Django REST Framework的核心组成部分,包括Serializers.ViewSets.Routers.权限和认证系统以及测试和调试工具.文章从基础开始,逐步深入,旨 ...