列と行のヘッダーを含むカスタムグリッドを作成しました。グリッド内のセルは空です。私がやろうとしているのは、スクロールに関して、そのような優れた振る舞いを作り出すことです。私は水平と垂直スクロールバーを追加する必要があります。縦方向にスクロールするときは、列ヘッダーをスクロールするための場所と行ヘッダーが必要です。あなたが水平にスクロールするときには、私は行の列をスクロールするために所定の位置に、列のヘッダーが必要です。グリッドに現在あるコードは次のとおりです。WPF静的な列と行のヘッダーでスクロールできるグリッドを作成する方法
<Canvas x:Name="canvas_blueprint" ClipToBounds="True" Width="{Binding ActualWidth, ElementName=canvas}" Height="{Binding ActualHeight, ElementName=canvas}">
<DockPanel>
<Grid x:Name="grid_column_header" DockPanel.Dock="Top" Height="25" Width="{Binding ActualWidth, ElementName=canvas}"></Grid>
<Grid x:Name="grid_row_header" DockPanel.Dock="Left" Width="25" Height="{Binding ActualHeight, ElementName=canvas}" Margin="0,-25,0,0"></Grid>
<Grid x:Name="grid_blueprint" DockPanel.Dock="Right" Height="{Binding ActualHeight, ElementName=image_blueprint}" Width="{Binding ActualWidth, ElementName=image_blueprint}">
<Grid.Background>
<ImageBrush x:Name="imagebrush_blueprint"/>
</Grid.Background>
</Grid>
</DockPanel>
</Canvas>
基本的に3つのグリッドを含むドックパネル付きのキャンバスです。ヘッダーは2グリッド、内側セルは1グリッド。セルは動的に作成されます。
グリッド上に背景画像を重ねる必要があるため、カスタムグリッドを作成しています。私は無料のスプレッドシートコントロールを使用しようとしましたが、背景イメージを持つことができるものは見つかりませんでした。私のグリッドが持つ必要がある唯一の他の動作は、セルまたはセルの範囲を選択する能力です。
私はグリッドでスクロールバーとスクロールビューアを試しましたが、それは線がぼんやりと不均一になります。私はWPFプログラミングには新しくないが、私は専門家の近くにはどこにもいない。どんな助けもありがとう。
が私たちの答えはキャンバスを取り除くことを含むことができる、またはあなたがその特定の何かのためにそれを使用している:ここでは
を使用すると、個々の細胞に、特別な背景色、および書式の他のタイプを適用する方法ですあなたが提供したコードにはありませんか? –
もちろんキャンバスを取り除くことができます。 – Savantasaurus