0

私は3つの異なるスクロールしたいTextBoxes

ここで何らかの方法を見つけました。しかし、VS2012ではWindows.Forms非常に面倒です。参照を追加しようとしましたが、これがスクリーンショットであることがわかりませんでしWindows.Formた:

ここに画像の説明を入力 ここに画像の説明を入力

それで、スクロールバーを使用するアイデアを見つけました。それは可能ですか?

4

2 に答える 2

1

http://www.gbogea.com/2009/07/08/how-to-keep-two-scrollviewers-in-sync-in-wpf

コードがあります。サイトがダウンした場合、ここにミラーとしてコピーして貼り付けます。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="1*" />
        <ColumnDefinition Width="1*" />
        <ColumnDefinition Width="1*" />
    </Grid.ColumnDefinitions>
<ScrollViewer Grid.Column="0" Name="scrollViewerLeft" ScrollChanged="scrollViewerLeft_ScrollChanged">
    <ListBox>
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        ...
        <ListBoxItem>100</ListBoxItem>
    </ListBox>
</ScrollViewer>
<ScrollViewer Grid.Column="1" Name="scrollViewerMiddle">
    <ListBox>
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        ...
        <ListBoxItem>100</ListBoxItem>
    </ListBox>
 </ScrollViewer>
 <ScrollViewer Grid.Column="2" Name="scrollViewerRight">
    <ListBox>
        <ListBoxItem>1</ListBoxItem>
        <ListBoxItem>2</ListBoxItem>
        <ListBoxItem>3</ListBoxItem>
        ...
        <ListBoxItem>100</ListBoxItem>
    </ListBox>
 </ScrollViewer>
</Grid>

と背後にあるコード:

private void scrollViewerLeft_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    scrollViewerMiddle.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);
    scrollViewerRight.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);
}
private void scrollViewerMiddle_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    scrollViewerLeft.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);
    scrollViewerRight.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);
}
private void scrollViewerRight_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    scrollViewerLeft.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);
    scrollViewerMiddle.ScrollToVerticalOffset((sender as ScrollViewer).VerticalOffset);

}
于 2012-12-10T12:54:32.073 に答える
1

名前空間を使用するには、プロジェクトにライブラリをwindows.forms追加する必要があります: 右クリック(ソリューション エクスプローラー) -> -> -Tab -> 選択して [OK] をクリックします。System.windows.formsReferencesAdd Reference.NETSystem.Windows.Forms

次に、必要なすべてのファイルに System.Windows.Forms 名前空間をインポートできます。

于 2012-12-10T12:47:46.067 に答える