首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个Xaml文件中拆分WPF接口

在多个Xaml文件中拆分WPF接口
EN

Stack Overflow用户
提问于 2008-10-22 07:38:55
回答 4查看 30.9K关注 0票数 56

我正在尝试使用XAML创建一个用户界面。但是,文件很快就会变得非常大,并且很难处理。将其拆分到多个文件的最佳方式是什么?

我希望能够将诸如ComboBox等元素的内容设置为在不同的xaml文件(但在相同的VS项目中)中定义的元素。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-22 08:10:49

您可以通过定义UserControls来拆分大型用户界面。

右键单击解决方案树,选择Add->New Item...然后是用户控件。你可以用正常的方式来设计它。

然后,可以使用命名空间声明在XAML中引用用户控件。假设你想在一个窗口中包含你的UserControl。在下面的示例中,我向名称空间“YourCompany.Controls”添加了一个名为"Foo“的UserControl:

代码语言:javascript
复制
<Window x:Class="YourCompany.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Controls="clr-namespace:YourCompany.Controls">

  <Controls:Foo ... />

对于您的特定示例,您可以通过定义一个在用户控件中显示数据的DataTemplate来使用组合框中的用户控件。

票数 48
EN

Stack Overflow用户

发布于 2008-10-22 08:06:43

您可以使用ResourceDictionary拆分XAML文件。ResourceDictionary可用于合并其他文件:

代码语言:javascript
复制
<Page.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="myresourcedictionary.xaml"/>
      <ResourceDictionary Source="myresourcedictionary2.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>
</Page.Resources>

在ResourceDictionary中,您还可以声明可以在元素中使用的样式,这样主XAML文件就会变得更小。

获得较小XAML文件的另一种可能是定义您自己的控件,然后在主应用程序中使用这些控件。

票数 28
EN

Stack Overflow用户

发布于 2016-10-17 14:11:52

您还可以创建Page,而不是UserControlPage可以由Window托管,也可以由Frame托管。搜索页面与UserControl的优缺点。这在一定程度上取决于你对导航的要求,这将最适合你的需要。

Here is an example of using a Page in a Frame.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/224765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档