在uwp resourcedictionary中组合多个控件

时间:2018-04-27 08:06:19

标签: xaml uwp

我想控制一个复选框和一个文本框控件。然后我想为这两个控件和一个文本块创建许多样式。我想在一个单独的文件中的字典中。我遇到困难的部分是我希望能够将这些控件组合在一个容器即网格上,我想在我的主窗体中引用包含这些控件的网格。我完全有能力使用控件和词典。我根本无法创建涉及分组的工作流程。我希望删除代码混乱并创建代码灵活性。我很确定我没有尝试创建用户控件。

a lot of this but label toggle input

1 个答案:

答案 0 :(得分:0)

以下似乎是最正确的工作流程:

i)从新项目ResourceDictionary模板创建一个单独的xaml工作表,或添加到您已创建的模板

ii)为构成您的小组的每个单独控件定义模板和样式

iii)就像我们经常做的那样,将新的自定义控件定义为自己的xaml工作表中的单独对象 - 与不断添加新组件的字典不同。有一个新项目UserControl模板

iv)在新的UserControl中删除一个容器对象,并将您想要的组件添加到新的用户控件,通过在UserControl.Resources中定义MergedDictionary来引用它们

v)将您的控件放在表单布局(MainPage.xaml等)中,就像输入本地控件一样,控制名称为< local:CustomUserControl。 。 。 / >

为什么这对我来说是个问题?这看起来很基本,但围绕这个确切内容的文档缺乏 - 存在和清晰,我来自directX而不是WPF。 UserControls是root用户并且不会进入用户词典。实际上我无法告诉实际上没有办法将网格放在用户词典中,或者作为文件中的根目录和引用(我没有成功使用它,我认为它有很多在场景后面继承。)我对使用UserControl犹豫不决,因为似乎有很多义务填写样板代码,但是当我得到所有的引用工作时,很明显我可以放弃子控件在我的字典中设置样式和模板。

如果我遗漏了某些东西,请告诉我。 。 ..