Wpf 如何避免在xaml中重复类似的标记?
在我的xaml文件中,我有两个相同的数据网格,它们绑定到不同的集合,具有不同的名称和不同的Grid.Column属性。有没有一种方法可以不重复这些数据网格的标记,而是使用更简洁的标记?像编程语言中的宏替换?Wpf 如何避免在xaml中重复类似的标记?,wpf,xaml,Wpf,Xaml,在我的xaml文件中,我有两个相同的数据网格,它们绑定到不同的集合,具有不同的名称和不同的Grid.Column属性。有没有一种方法可以不重复这些数据网格的标记,而是使用更简洁的标记?像编程语言中的宏替换? ... ... ... 使用相同的值,这通常会考虑大多数属性,如果属性不相同,通常就不需要再进一步了。有很多方法可以做到这一点,我认为没有一个正确的答案。 以下是我脑海中的一些想法: A) 您可以有一个datagrid“生成器”,就像一个函数一样,并通过代码动态加载datagrid B)
...
...
...
使用相同的值,这通常会考虑大多数属性,如果属性不相同,通常就不需要再进一步了。有很多方法可以做到这一点,我认为没有一个正确的答案。
以下是我脑海中的一些想法:
A) 您可以有一个datagrid“生成器”,就像一个函数一样,并通过代码动态加载datagrid
B) Uou可以通过xaml(加载xaml标记)动态加载数据网格
C) 在xaml中定义一个数据网格。然后,使用从第一个数据网格复制的属性,动态地向ContentControl、ItemsControl、StackPanel或其他对象添加其他数据网格
D) 您可以创建一个UserControl来定义您的datagrid(即自定义datagrid控件)。然后您只需通过Xaml或代码添加此数据网格。@akonsu:我可以,但不会。阅读我链接到和的文档。 <DataGrid AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding View0}" Name="DataGrid0" SelectedItem="{Binding SelectedTask}" SelectionMode="Single" Grid.Column="0" views:DataGridProperties.RowEditEndingCommand="{Binding UpdateTaskCommand}"> ... </DataGrid> ... <DataGrid AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding View1}" Name="DataGrid1" SelectedItem="{Binding SelectedTask}" SelectionMode="Single" Grid.Column="1" views:DataGridProperties.RowEditEndingCommand="{Binding UpdateTaskCommand}"> ... </DataGrid>