我想修改Microsoft WPF DataGrid(4.0版本)的模板,但我不确定现有的模板是什么样子。有谁知道它是什么或在哪里可以找到它?我在哪里可以找到WPF DataGrid的XAML模板?
8
A
回答
7
我会建议进入混合(如果有的话),并提取模板。否则,您可以使用XAMLWriter获取XAML。
这unfortunately named page(我不认为这真的是“孩子的东西”,是吗?)有一个这样做的例子。
如果页面确实发生走开(2009年在后视镜很远):
// Get the template from the control
ControlTemplate template = ctl.Template;
// We want our xaml of be properly indented, ohterwise
// we would not be able to indent them.
XmlWriterSettings xmlSettings = new XmlWriterSettings();
xmlSettings.Indent = true;
// Make the string builder
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb, xmlSettings);
XamlWriter.Save(template, writer);
// Now the sb.ToString() should give us the template
所有信贷沙夫卡特·艾哈迈德。
1
4
有模板的两个伟大的名单/ MSDN上的风格我经常使用:
http://msdn.microsoft.com/fr-fr/library/aa970773.aspx
http://msdn.microsoft.com/en-us/library/aa970773.aspx
可悲的是,他们没有像宣传的那样,他们应该是...
所以就你而言,我会推荐这个(从第二个链接得到它): http://msdn.microsoft.com/en-us/library/ff506248.aspx
最近帮了我很多!
6
这是我离开了混合4:
<ControlTemplate TargetType="{x:Type DataGrid}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/>
<ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
<Grid Grid.Column="1" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
</Grid>
</ControlTemplate>
</ScrollViewer.Template>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Border>
</ControlTemplate>
相关问题
- 1. 我在哪里可以找到VS 2012的DNN6模块模板
- 2. 在哪里可以找到WPF经典主题作为XAML?
- 3. 我在哪里可以找到iPhone上的opencv的xcode模板?
- 4. 我在哪里可以找到免费的WPF控件和控件模板?
- 5. 我在哪里可以找到适合webapp的主题/模板?
- 6. 我在哪里可以找到更多的GWT webappcreator模板?
- 7. 我在哪里可以找到UITableViewCell图标的模板?
- 8. Drupal 7 - 我在哪里可以找到render()函数的模板?
- 9. 我在哪里可以找到ASP.NET MVC 1.0的项目模板?
- 10. 我在哪里可以找到Windows窗体的c#模板?
- 11. 我在哪里可以找到IVCWizCtlUI
- 12. 我在哪里可以找到Codesmith模板?
- 13. 我在哪里可以找到Web UI模板?
- 14. 我在哪里可以找到WPF DataGridRow的默认样式
- 15. 我在哪里可以找到解释xaml的用法/含义的资源,例如datagrid和devexpress的datagrid?
- 16. 在哪里可以找到我的DB2
- 17. 我在哪里可以找到的UIKit
- 18. 我在哪里可以找到android-server.apk?
- 19. 我在哪里可以找到免费的WPF控件
- 20. 在哪里可以找到unattend.xml模式
- 21. 哪里可以找到FlowPanel?
- 22. 哪里可以找到模式模块
- 23. 我在哪里可以找到CommandTarget?
- 24. 我在哪里可以找到ExpressionParseHelper?
- 25. 我在哪里可以找到compojure.html?
- 26. 我在哪里可以找到PyBluez API
- 27. 我在哪里可以找到“j_security_check”?
- 28. 我在哪里可以找到gtkmm/overlay.h?
- 29. 我在哪里可以找到Psychtoolbox-3.0.11?
- 30. 我在哪里可以找到AngularJS changelog?
http://neilmosafi.blogspot.com/2007/04/new-tool-for-viewing-wpf-default.html – Heinzi 2010-11-12 14:56:13
我有用于其他控件,但它没有DataGrid控件。我会检查更新版本 – Rachel 2010-11-12 14:59:22
不可以,ShowMeTheTemplate没有更新的版本 – Rachel 2010-11-12 15:14:48