wpf 关于控件样式继承

比如后台代码要怎么写??

2个回答

样式继承?没这个说法吧,每个控件都有自己的默认样式,如果你继承了另一个控件,那么此继承首先符合C#的继承特性,当然也包括你说的”样式继承“,
无论是自定义控件(UserControl),还是直接继承Button等控件,都回继承父类的传递特性。

qq_21300435
qq_21300435 回复guzhenglongguojun: 后台代码让是整个ScrollViewer“类”都继承这个for_ScrollViewer样式
接近 2 年之前 回复
qq_21300435
qq_21300435 回复guzhenglongguojun: 我问的就是最初的问题,我问的是在c#代码里更改?
接近 2 年之前 回复
guzhenglongguojun
guzhenglongguojun 回复qq_21300435: 那不是一样吗,你修改xaml对应的对象属性就ok了啊。
接近 2 年之前 回复
guzhenglongguojun
guzhenglongguojun 回复qq_21300435: 我的意思是直接让怼到模板属性,所有的样式全部由你做主。还是你的问题是别的?该给分了吧。
接近 2 年之前 回复
qq_21300435
qq_21300435 回复guzhenglongguojun: 我只是想后台去控制,不想使用xaml去实现
接近 2 年之前 回复
qq_21300435
qq_21300435 回复guzhenglongguojun: 修改样式我知道,<Style TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource for_ScrollViewer}"/>
接近 2 年之前 回复
guzhenglongguojun
guzhenglongguojun 回复qq_21300435: 理论上C#代码和xaml是一样的。修改继承控件的样式很简单的,比如修改模板。
接近 2 年之前 回复
qq_21300435
qq_21300435 那后台代码怎样修改它的默认样式呢?,我想在后台代码中修改它的默认样式,像xaml这样的代码应该都能转换为c#代码吧?
接近 2 年之前 回复

这个是无法在C#代码动态去修改的,首先你要知道C#是静态语言,就是要先编译好才能执行的,你在xaml里面写好之后编译程序的时候程序就直接被编译成动态库或者可执行程序了,所以这个是无法动态修改的,如果你硬要动态修改的话只能利用反射去动态创建这个样式,让他继承相应的父类。另外楼主提出这个问题说明对继承的理解还不够,继承是描述这个类是什么,例如你让一个类A继承了Person类,就说明A是人,自然而然你就不能让类A再改为继承Pig类,因为A不可能先是人然后又变成了猪,所以不管Java也好还是C#也好,类的继承都是单一的,不允许多继承,如果真的想实现所谓的“动态继承”就只能利用反射去动态创建这个类。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!