winui中创建自定义控件库的正确方法

Posted

技术标签:

【中文标题】winui中创建自定义控件库的正确方法【英文标题】:Right way to create a custom control library in winui 【发布时间】:2021-12-11 00:00:08 【问题描述】:

我想用 winui 3/uwp 创建一个自定义控件库。

问题是我应该如何介绍字典和样式?

为什么 PowerToys 将一些字典放在generic file 中?并在app.xaml 文件中放入一些其他字典?

我还注意到其中一个字典 (IsEnabledTextBlock) 被放置在 generic 文件和 app.xaml 文件中。为什么?

如果我们要创建自定义控件库,应该如何引入这些字典和样式?

【问题讨论】:

【参考方案1】:

如果您正在开发包含自定义控件的库,则这些控件的默认样式应在名为 themes/generic.xaml 的资源字典中定义。这是框架将按照惯例查找它们的位置。

类库没有应用全局 App.xaml 文件的概念,因为它不是应用。

【讨论】:

我知道类库中不存在 app.xaml 但为什么 pt 在泛型中定义了一些资源而在 app.xaml 中定义了一些资源? 您应该询问作者,但这可能是因为控件和应用程序都具有默认样式。不过,我真的不明白这与您的自定义类库有什么关系。显然你没有任何App.xaml

以上是关于winui中创建自定义控件库的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Blend 中创建自定义列表

在 GridMVC 中创建自定义时间小部件

vs2008时间控件设置默认值

重构大方法以在 UIViewController 中创建自定义 UIView

如何在使用“inRange”过滤器类型的 ag-grid 中创建自定义浮动过滤器组件

WinForm中调用WPF控件