[英]How to Use Template for Wpf DataGrid?
我有一个像这样的datagrid模板:
<ControlTemplate TargetType="{x:Type DataGrid}" x:Key="zoomableControl">
<ScrollViewer x:Name="scrollViewer" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid
<ContentPresenter>
</ContentPresenter>
<Slider Name="zoomSlider" Minimum="1" Maximum="100" Visibility="Hidden"/>
<Grid.LayoutTransform>
<ScaleTransform ScaleX="{Binding Path=Value,ElementName=zoomSlider}" ScaleY="{Binding Path=Value,ElementName=zoomSlider}"/>
</Grid.LayoutTransform>
</Grid>
</ScrollViewer>
</ControlTemplate>
并像这样使用它:
<DataGrid Template="{StaticResource zoomableControl}" ...>
我想在模板内的ScrollViewer中显示datagrid,但不显示任何内容。 有什么问题?
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ContentPresenter >
</ContentPresenter>
<Slider Name="zoomSlider" Minimum="1" Maximum="100" Visibility="Hidden" Grid.Row="1"/>
<Grid.LayoutTransform>
<ScaleTransform ScaleX="{Binding Path=Value,ElementName=zoomSlider}" ScaleY="{Binding Path=Value,ElementName=zoomSlider}"/>
</Grid.LayoutTransform>
</Grid>
您的ContentPresenter和Slider位于网格的同一行中,因此当Slider覆盖它时,不会显示ContentPresenter。我希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.