0

我有一个这样的数据网格模板:

<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 中显示数据网格,但它没有显示任何内容。有什么问题?

4

1 回答 1

0
 <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 在 Grid 的同一行中,因此 ContentPresenter 不会显示为 Slider 覆盖它。我希望这会有所帮助。

于 2012-07-29T07:28:55.537 回答