1,Themes\Generic.xaml最好不要更名
"Generic.xaml"这个名称并非偶然
通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出来,粘贴到任何一个我们的控件可以找到的地方,然后把Generic.xaml删掉或改成更优雅的名称,如果你运气好的话,这是可行的,因为控件会自下而上(Page,App,Theme)去查找其所需要的Style,但此时你已经犯了一个潜在的错误:你没有为控件提供默认的样式.这里的默认样式其实是说"在默认主题中或没有为 该控件找到当前操作系统对应的主题时采用的的样式".这涉及到WPF中Theme的相关话题了,有兴趣可以参考msdn相关SDK.
2,如果需要用到Themes/Generic.xaml作为默认风格资源文件,不要忘了该项目的AssemblyInfo.cs中必须要有以下这段:
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
3, 将其移动到静态构造函数中,可以解决下面异常。
参考地址:
https://www.cnblogs.com/dfun/p/4298290.html
https://www.cnblogs.com/fuchongjundream/p/3899980.html
转载于:https://www.cnblogs.com/garrett/p/8880203.html
1,Themes\Generic.xaml最好不要更名"Generic.xaml"这个名称并非偶然通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出来,粘贴到任何一个我们的控件可以找到的地方,然后把Generic.xaml删掉或改成更优雅的名称,如果你运气好的话,这是可行的,因为控件会自下而上(Page,App,Theme)去查找其所需要的Styl...
自定义控件不显示内容由于工作需要在写WPF,其中想要实现一些自己的控件所以直接自定义了控件博主是继承了ContenControl的控件开始写的但是发现不管设置Content属性为任何都是不显示。
解决方案:
在创建自定义控件的时候会自动生成一个布局文件会自动绑定到我们创建的自定义控件上这个时候默认使用的布局就是这个。
比较简单的解决办法就是设置BaseOn属性直接继承父控件的样式即可使用。
如果控件在界面看不到,首先需要通过视觉树了解控件是否还在视觉树上
一个不存在视觉树的控件,肯定不会在界面中显示
调试某个控件元素是否在 WPF 界面的视觉树上,可以通过 VisualStudio 的实时可视化树功能进行调试
如果已进入后台断点,...
一.图标字体
图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap。但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般外置字体一样的使用,因此Winform、WPF中都是可以用的。
在我们多个
WPF 如何自定义图标——应用篇——自定义控件
结合前面我们已经能够较为灵活的在CS和XAML中使用我们自定义的图标。接下来,我们结合一些框架元素(FrameElement)的特点实现我们自己自定义控件的定义与使用。自定义控件的特点:灵活,重构能力强。
图标类控件给人非常醒目的感觉,我们通过自定义Control、Button和CheckBox控件来实现自定义控件的定义与使用。
编码环境:Wi...
2.具体案例
<!--IsTodayHighlighted 默认 True IsDropDownOpen 默认false FirstDayOfWeek 默认值 Sunday
DisplayDate 要显示的时间 并不显示在日期中 SelectedDateForm
问题描述:
在B项目中 调用A项目中已有的UserControl,然后这个控件又有自定义的控件,比如自定义的图标类型的Button,但是会出现在运行项目B的时候,切换到调用A项目的UserControl页面中,自定义的这个图标类型的Button消失了,但是在A项目中运行确实正常的。
原因: 图片的路径问题。
解决办法:
在B项目中的App.xaml中引用A项目的资源文件,注意路径的写法是程序集+文...
默认情况下,自义定控件是自动显示到工具箱中的,但是有时候对于一些自定义的控件,不想让它显示到工具箱中,那该怎么办呢?别急,Microsoft给我们提供了一个方法:ToolboxBrowsable,默认情况下,该方法是不能直接使用的,需要引用 相应的程序集,具体方法如下:
1、在项目中引用Assembly: Microsoft.Windows.Design.Interaction (in Micro...
我们在WPF中创建baseWindow或者想继承一个自定义的USERCONTROL时,经常会遇到 “继承之后出现不能是 XAML 文件的根” 这样的错误。
原因是继承类如果重新定义窗体内容会冲掉基类的所有内容:
解决方法:1.基类设成一个继承Window或者UserControl普通的类文件,不要创建成带XAML的文件。
或者 利用自定义控件,创建各自的ControlT...
我可以为您介绍一些WPF中代码编写自定义控件添加到Grid控件的方法: 1.将自定义控件添加到Grid控件中,可以使用Grid.Children.Add方法。
2.可以使用Grid.SetRow和Grid.SetColumn方法来设置控件位置。
3.可以使用Grid.SetRowSpan和Grid.SetColumnSpan方法来设置控件的大小。
4.可以使用Grid.SetRowDefinition和Grid.SetColumnDefinition来添加新行/列。