WPF笔记 ( xmlns引用,Resource、Binding 前/后台加载,重新绑定) 2013.6.7更新
原文:WPF笔记 ( xmlns引用,Resource、Binding 前/后台加载,重新绑定) 2013.6.7更新
1、xmlns
Mapping URI的格式是
clr-namespace:<clr namespace>[;assembly=<assembly name>]
(1)如果自定义类和XAML处在同一个Assembly之中,只还需要提供clr-namespace值。
 
xmlns:converter="clr-namespace:Pansoft.SCV.Workflows.OpenAccount.ValueConverter"(2)如果自定义类和XAML处在不同的Assembly之中。除了clr-namespace值外,还必须提供assembly的值。
xmlns:converter="clr-namespace:Pansoft.SCV.UIFramework.ValueConverter;assembly=Pansoft.SCV.UIFramework"
clr-namespace和assembly的拼写必须都是小写。
这样在XAML中就可以通过namespace prefix和类名使用自定义的元素了。举例:
<converter:ImageSourceConverter x:Key="ImageConverter"/>2、Resource
前台:
<Page.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Pansoft.SCV.UIFramework;component/Style/GlobaStyle.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <converter:ImageSourceConverter x:Key="ImageConverter"/>
            <Style TargetType="{x:Type TextBox}">
            </Style>
        </ResourceDictionary>
 </Page.Resources>后台:
            Resources.MergedDictionaries.Add(new ResourceDictionary()
            {
                Source = new Uri("../Pansoft.SCV.Workflows.OpenAccount;component/Style/GlobaStyle.xaml", UriKind.Relative)
            });或者
Resources.MergedDictionaries.Add(new ResourceDictionary()
            {
                Source = new Uri("pack://application:,,,/Pansoft.SCV.Workflows.OpenAccount;component/Style/GlobaStyle.xaml")
            });3、Binding
前台:
<trans:OpenAccountTranscation x:Key="WorkflowNode"/>或者
Resources.Add("WorkflowNode", node.Owner.Transcation);
调用:
<Page.DataContext>
      <Binding Source="{StaticResource WorkflowNode}"/>
</Page.DataContext> <TextBlock Text="{Binding Name}"  FontSize="18" Margin="20,0"/>或者直接写:
DataContext = node.Owner.Transcation;
后台:
            Binding MyBinding = new Binding();
            MyBinding.Path = new PropertyPath("Name");
            MyBinding.Mode = BindingMode.OneWay;
            MyBinding.Source = node.Owner.Transcation;
            MyTextBlock.DataContext = node.Owner.Transcation;
            MyTextBlock.SetBinding(TextBlock.TextProperty, MyBinding);  
4、后台重新绑定
xaml:
 <Button x:Name="BtnSwitchLangs" Content="{DynamicResource Execute}" Width="200" Height="60" Click="Button_Click_2" Margin="0,5"/>后台(重新绑定):
BtnSwitchLangs.SetResourceReference(ContentProperty, "ReExecute");//为内容绑定新的源
WPF笔记 ( xmlns引用,Resource、Binding 前/后台加载,重新绑定) 2013.6.7更新的更多相关文章
- Ajax异步后台加载Html绑定不上事件
		因项目需要,需要实时从后台动态加载html,开发过程中,遇到事件绑定不上,后来百度一番,大概意思:ajax是异步加载的,页面一开始绑定事件的时候,后台数据还没有传过来,就绑定事件,这个时候找不到这个d ... 
- 高效使用Bitmaps(二) 后台加载Bitmap
		转载:http://my.oschina.net/rengwuxian/blog/183802 为什么要在后台加载Bitmap? 有没有过这种体验:你在Android手机上打开了一个带有含图片的Lis ... 
- Vs2017添加引用时报错     未能正确加载“ReferenceManagerPackage”包。
		Vs2017添加引用时报错未能正确加载“ReferenceManagerPackage”包. 最近新装了2017,开始前几天还好, 可是最近在添加引用时,报错 -------------------- ... 
- 利用WPF的ListView进行大数据量异步加载
		原文:利用WPF的ListView进行大数据量异步加载 由于之前利用Winform的ListView进行大数据量加载的时候,诟病良多,所以今天试着用WPF的ListView来做了一下,结果没有让我失望 ... 
- thinkphp 的两种建构模式  第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。
		thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用. ... 
- Visual studio 2017添加引用时报错未能正确加载ReferenceManagerPackage包的解决方法
		vs2017添加引用时报错未能正确加载“ReferenceManagerPackage”包. - AusonSir - 博客园https://www.cnblogs.com/-bao/p/674941 ... 
- WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
		一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要有三种实现方式 ... 
- 【转】WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
		一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要有三种实现方式: 简单忙碌状态控件BusyBox: Win8/win10效果忙 ... 
- Asp.Net之后台加载JS和CSS
		在Asp.Net开发时,用到的JS库.通用的CSS等,在许多页面都会用到,而每次都需要手动引入,相当麻烦,而且有时一旦忘了引用,还得找半天才能找到问题.那有没有什么办法能够一劳永逸的呢?答案是有的. ... 
随机推荐
- 奇虎360Java笔试题
			1题 运行下面程序后的输出结果是() public class Test { public static void main(String[] args) { StringBuffer a = new ... 
- Objective-C基础笔记(8)Foundation经常使用类NSString
			一.创建字符串的方法 void stringCreate(){ //方法1 NSString *str1 = @"A String!"; //方法2 NSString *str2 ... 
- 怎样收缩超大的SharePoint_Config数据库
			前言 在已经执行了2年多的SharePointserver上,发现SharePoint_Config的数据库文件越来越大,已经达到90几个GB,收缩能够减小20几个GB,可是一周以后又会恢复到90几个 ... 
- Yii学习笔记之四(表单验证 api 翻译)
			1.表单验证 对于用户输入的全部数据,你不能信任,必须加以验证. 全部框架如此.对于yii 能够使用函数 yii\base\Model::validate() 进行验证 他会返回boolean值的 ... 
- 【转】关于python中带下划线的变量和函数 的意义
			http://www.blogjava.net/lincode/archive/2011/02/02/343859.html 总结: 变量: 1. 前带_的变量: 标明是一个私有变量, 只用于标明 ... 
- 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3)  的介绍、安装、破解、配置与使用
			原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ... 
- 中国象棋V2:Java源代码、毕业设计等所有文档,已经全部提交到CSDN-Code平台
			下载地址:https://code.csdn.net/FansUnion/chinesechess-v2 主要内容:Java源代码.毕业设计.API文档.声音图片等资源.Demo截图等一切的一切. 2 ... 
- 快来看看Google出品的Protocol Buffer,别仅仅会用Json和XML了
			前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 事实上 是 Google出品的一种轻量 & 高效的结构化数据 ... 
- 输入框改变placeholder字体颜色
			::-webkit-input-placeholder { color: red;}:-moz-placeholder { color: red;}::-moz-placeholder{color ... 
- WIN10+QT5.9+VS2015编译RedisDesktopManager
			原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/insta ... 
