0

私はWPFアプリケーションで作業しています。そして私の問題はGridSplitterの可視性に関するものです。

私のxamlコードでは、グリッドを維持しています。グリッドの3行目では、WinformDataGridViewをホストしています。同じ行に、GridSplitterが書き込まれます。

GridSplitterをドラッグしてグリッド行のサイズを調整すると、ボタンなどの他のコントロールの場合は正しく表示されます。しかし、私がホストしているDataGridViewに到達すると、GridSplitterはホストされているコントロールの背後に隠れます。

実際、Datagridviewの代わりにホストするものは何でも、GridSplitterをドラッグすると、その背後に隠れるようになります。

GridSplitterのZIndexを設定してみました。違いはありませんでした。

誰かがこれを手伝ってくれますか?

以下は私のXAMLサンプルコードです:-

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Name="rowForButton"/>
        <RowDefinition Name="rowForGridSplitter" Height="Auto" MinHeight="81" />
    </Grid.RowDefinitions>
    <Button Grid.Row="0" Height="50" Width="110" Content="Button in First Row"/>
    <my:WindowsFormsHost Panel.ZIndex="0" Grid.Row="1"  Margin="30,11,138,0" x:Name="winHost" Height="58" VerticalAlignment="Top" OpacityMask="Transparent">            
        <win:DataGridView x:Name="dataGridView"></win:DataGridView>
    </my:WindowsFormsHost>        
    <GridSplitter  BorderThickness="1" Panel.ZIndex="1" Grid.Row="1" HorizontalAlignment="Stretch" Height="5" ShowsPreview="True" VerticalAlignment="Top">
    </GridSplitter>
</Grid>

ありがとう。

4

2 に答える 2

0

グリッドには 2 つの行定義しかありませんが、3 つ必要です。現時点では、WindowsFormsHost と GridSplitter は 2 番目の行を共有しています (つまり、Grid.Row="1")。おそらく、WindowsFormsHost で Grid.Row="2" を使用する必要があります。

于 2010-10-12T19:55:14.003 に答える