2012-03-20 3 views
0

行番号のTextBoxが必要です。だから私は、テキストの右側にもう一つの大きなものを左に行番号のための小さなTextBoxを使用することを決めた。 私の問題は、これらの2つのテキストボックスをDockpanelに入れて、行番号のTextBoxにスクロールバーが付いていないため、高さの違いが必要だということです。ですから、私は左のTextBoxを短くする必要があります。私の計画は、左のTextBoxの下に空のStackPanelを置くことです。私はDockPanelが私のコントロールを並べ替えていないので、問題が発生しています。私が得た唯一の方法は修正幅を使用することでしたが、私はそれを望んでいません!WPF DockPanel - オーダーコントロール

image

または私は完全に別の道を行くべきですか?

答えて

0

コントロールにスクロールバーが表示されないようにするには、VerticalScrollBarVisibilityをdisabledに設定します。

しかし、私はそれがあなたが必要とするものであるかどうかはわかりません。これを行うと、明らかに行番号はテキストボックスでスクロールしません。ドックパネルに2つのテキストボックス(行番号が編集可能ではない場合は、代わりにラベルを使用することもできます)を配置し、スクロールビューアにドッキングパネルをラップすることをお勧めします。

1

なぜこのコントロールをビルドする必要があるのか​​わかりませんが、WPFの場合と同様のものが見つかります。このリンクAvalonEditを参照してください。これはテキストエディタのコントロールです。

0

ScrollViewを使用してみてください。以下のコードはそのアイデアを示しています。しかし、私は水平スクロールを可能にする解決策を考え出していません。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ScrollViewer Height="100"> 
      <DockPanel> 
       <TextBlock DockPanel.Dock="Left"> 
        <TextBlock.Inlines> 
         1<LineBreak/> 
         2<LineBreak/> 
         3<LineBreak/> 
         4<LineBreak/> 
         5<LineBreak/> 
         6<LineBreak/> 
         7<LineBreak/> 
         8<LineBreak/> 
         9<LineBreak/> 
         10<LineBreak/> 
         11<LineBreak/> 
         12<LineBreak/> 
         13<LineBreak/> 
</TextBlock.Inlines> 
       </TextBlock> 
       <TextBox AcceptsReturn="True" TextWrapping="Wrap"> 
        I want a TextBox with line numbers. So I decided to use one small TextBox for the line numbers on the left and another big one on the rigth for the text. My problem now is that I put these two TextBoxes into a Dockpanel and I need a Heigth difference because the TextBox for the line numbers should not have scrollbars. So I need to short the left TextBox. My plan is to put an empty StackPanel below the left TextBox. And I'm getting trouble because the DockPanel doesen't sort my controls like i want. The only way I got it was using a fix width but I don't want that! 
       </TextBox> 
      </DockPanel> 
     </ScrollViewer> 
    </Grid> 
</Window> 

これは、えー...それはpossiblly私はすべての答えを読んでいない....マットBurlandの答えから重複している Screenshot

+0

のように見えます。 – Gqqnbig

関連する問題