WPF中转换器如何访问控件的某个字段?

问题描述

请教一下大家,我使用转换器对一个控件的值进行转换,这时候如何在转换器的类里面访问控件中的某个字段呢?大家能否提供一点思路?在这谢谢关键代码如下:XMAL:<UserControl><UserControl.Resources><local:ValueToProcessConverterx:Key="ValueToProcessConverter"/></UserControl.Resources>……<BorderBackground="{TemplateBindingValue,Converter={StaticResourceValueToProcessConverter},ConverterParameter=300}"/>……<UserControl>

C#://控件类publicpartialclassProgressBar:UserControl{……publicstringCtrlString{get;set;}……}//转换器类classValueToProcessConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){……CtrlString=“newValue”;//CtrlString为UserControl中某个属性,如何在这里进行访问呢……}}

解决方案

解决方案二:
可以对objectvalue参数反射
解决方案三:
你的“newValue”(引用mvvm属性或者或者引用别的什么Element名称)应该出现在xaml上Background的绑定声明上,在运行时wpf会为Convert(objectvalue,....这里的value参数传入你所绑定的属性值。为什么你不遵循xaml的规范去声明,而“倒着”发明一种转换器概念呢?
解决方案四:
引用2楼sp1234的回复:

你的“newValue”(引用mvvm属性或者或者引用别的什么Element名称)应该出现在xaml上Background的绑定声明上,在运行时wpf会为Convert(objectvalue,....这里的value参数传入你所绑定的属性值。为什么你不遵循xaml的规范去声明,而“倒着”发明一种转换器概念呢?

谢谢你的回复。是这样的,因为value已经绑定了一个属性值了,而在转换器中还需要访问所绑定控件的某些字段,所以就不知道怎么搞了。

时间: 2024-09-29 23:58:13

WPF中转换器如何访问控件的某个字段?的相关文章

体验ASP.NET 2.0 中的数据访问控件

asp.net|访问|控件|数据 简介 数据访问一直是开发 Web 应用程序的一个关键问题.几乎每个商业应用程序都需要数据驱动的 Web 页面.由于数据访问如此普遍,开发人员不断地为简单的数据库任务重新生成复杂的代码就显得毫无意义了.开发人员需要从格式各异的不同数据源中快速访问数据.幸运的是,ASP.NET 2.0 中新增的数据访问控件和 ADO.NET 2.0 解决了这一问题. 对于传统的 ASP 和 ASP.NET 1.1 应用程序而言,开发人员不得不创建代码访问和更新数据库,将检索到的数据

C# WPF 中类似于toolstrip的控件

问题描述 如题,WPF中有哪个控件可以替代toolStrip控件,或者能提供toolStrip控件的功能? 解决方案 解决方案二:貌似没有可以去下载个RibbonForWPF,使用Ribbon中的toolbarWPF有不少第三方控件和开源控件,例如:http://www.silverlightchina.net/html/download/WPFResource/2010/0726/1643.html

wpf中如何使用TeeChart控件

问题描述 我网上下了一个TeeChart.wpf.dll库文件,但不知道在wpf中如何使用,比如xaml中怎么添加控件,是不是仅有dll文件不够呢.哪位大哥知道怎么使用的? 解决方案

WPF中如何保证一个控件的width和height始终相等?

问题描述 我想让一个控件的大小随着窗口的大小而改变,但同时要保证这个控件的高度和宽度一定要相等.该怎么做? 解决方案 解决方案二:把宽度和长度绑定到一起,在SizeChanged中判断更改,大概这样Width="20"Height="{BindingRelativeSource={RelativeSourceSelf},Path=Width,Mode=TwoWay}"privatevoidWindow_SizeChanged(objectsender,SizeCha

wpf中TabItem textblock等控件文字竖排实现例子

TabItem的文字竖排:  代码如下 复制代码 <TabItem x:Name="backgroundcolor2" > <TabItem.Header> <TextBlock Width="30"       FontSize="24" FontWeight="Normal"      TextWrapping="Wrap">      <Run Text=&q

动态-WPF怎么获取资源中的path路径控件

问题描述 WPF怎么获取资源中的path路径控件 /i:EventTrigger /i:EventTrigger/i:Interaction.Triggers 这是按钮的样式,我用path拼了个铅笔图案,想在后台动态改变铅笔的背景颜色. 但是不知道怎么获取.

我在GridView控件添加了模板列,然后在该模板列的HeaderTemplate中添加了DropDownList控件.希望在程序中访问该DropDownList控件,怎样用?

问题描述 各位高手:我在GridView控件添加了模板列,然后在该模板列的HeaderTemplate中添加了DropDownList控件.希望在程序中访问该DropDownList控件,怎样用?请指教,谢谢! 解决方案 解决方案二:request解决方案三:你在什么事件中取值?可以用FindControl去找解决方案四:DropDownListddl1=(DropDownList)this.GridView1.HeaderRow.FindControl("DropDownList1"

.net3.0中跨线程访问控件

这两天用WPF做一个项目的UI部分时, 发现跨线程地访问了UI控件, 自然地报异常了. 当时找了半天也没在控件中找到InvokeRequired属性和Invoke方法, 郁闷之极.....最后发现在.net3.0中,这有所改变了. 替代InvokeRequired的方法是DispatcherObject.CheckAccess()或DispatcherObject.VerifyAccess()方法,用于指示当前线程是否可以直接访问控件. 替代Invoke的方法是DispatcherObject.

MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件

原文  MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件 UI 前沿技术 WPF 中的多点触控操作事件 Charles Petzold 下载代码示例 就在过去几年,多点触控还只是科幻电影中表现未来主义的一种重要手法,现在俨然已经成为主流的用户界面技术. 多点触控显示屏现在成了新型智能手机和 Tablet 计算机的标准显示屏. 此外,它还可能在公共场所的计算机上普及,例如 Microsoft Surface 率先开发的网亭或桌面计算机. 实际存在的唯一不确定因素是多点触控在常规台式