我正在尝试使用XAML创建一个用户界面。但是,文件很快就会变得非常大,并且很难处理。将其拆分到多个文件的最佳方式是什么?
我希望能够将诸如ComboBox等元素的内容设置为在不同的xaml文件(但在相同的VS项目中)中定义的元素。
谢谢
发布于 2008-10-22 08:10:49
您可以通过定义UserControls来拆分大型用户界面。
右键单击解决方案树,选择Add->New Item...然后是用户控件。你可以用正常的方式来设计它。
然后,可以使用命名空间声明在XAML中引用用户控件。假设你想在一个窗口中包含你的UserControl。在下面的示例中,我向名称空间“YourCompany.Controls”添加了一个名为"Foo“的UserControl:
<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来使用组合框中的用户控件。
发布于 2008-10-22 08:06:43
您可以使用ResourceDictionary拆分XAML文件。ResourceDictionary可用于合并其他文件:
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="myresourcedictionary.xaml"/>
<ResourceDictionary Source="myresourcedictionary2.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>在ResourceDictionary中,您还可以声明可以在元素中使用的样式,这样主XAML文件就会变得更小。
获得较小XAML文件的另一种可能是定义您自己的控件,然后在主应用程序中使用这些控件。
https://stackoverflow.com/questions/224765
复制相似问题