我想知道一些事情:如果你在一个控件下创建一个模板(比如datagrid),你能不能把你所做的一切都放在window.resources下面?举个例子:
<Grid Background="DarkGray">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<DataGrid Name="dgFruit" ItemsSource="{Binding}" AutoGenerateColumns="false" ItemTemplate="{StaticResource datagrid}" >
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Content" Value="{Binding Path=Number}" />
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name"/>
<DataGridTextColumn Binding="{Binding Path=Color}" Header="Color"/>
<DataGridCheckBoxColumn Binding="{Binding Path=Mjummy}" Header="Mjummy"/>
<DataGridTextColumn Binding="{Binding Path=Number}" Header="Number"/>
<DataGridTextColumn Binding="{Binding Path=Pits.Count}" Header="Pits"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
您可以制作从<DataGrid.RowHeaderStyle>
到</DataGrid.Columns>
的所有内容的数据表吗?如果是这样,你能说出来吗?
提前致谢
答案 0 :(得分:2)
这不是我放在模板中的东西,而是一种风格,是的,这种风格可以放在资源中。
答案 1 :(得分:1)
是
了解WPF如何查找资源非常重要。当它试图找到资源时,它首先查找当前对象的资源字典。如果找不到资源,则查找其容器的资源字典。它以递归方式执行此操作,直到它到达没有容器的对象(即窗口),在这种情况下,它查找应用程序的资源字典,然后,最后,放弃并告诉您无法找到资源