visual poner insertar hscrollbar formulario form ejemplos desplazamiento como barra c# wpf window vertical-scrolling

poner - scrollbar c# ejemplos



Cómo agregar una barra de desplazamiento a la ventana en C# (3)

No puede agregar una barra de desplazamiento a una ventana. Solo puedes agregar barras de desplazamiento a los controles. IE a una cuadrícula dentro de su ventana.

Ejemplo:

<Grid ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto"> ... </Grid>

EDITAR:

Acabo de darse cuenta de que Window también tiene una propiedad ScrollViewer. No estoy seguro de cómo funciona esta propiedad para una ventana y cómo se vería esa ventana. Lo probé, pero no aparecen barras de desplazamiento.

EDIT 2:

ScrollViewer sv = new ScrollViewer(); sv.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; myGrid.Children.Add(sv);

He creado una ventana de la siguiente manera:

Window myWindow = new Window();

¿Cómo puedo agregar una barra de desplazamiento vertical a esta ventana y hacer que la barra de desplazamiento solo sea visible si la altura no es lo suficientemente grande como para mostrar todos los elementos?


Puede agregar un elemento ScrollViewer a su ventana y colocar los controles necesarios en el control ScrollViewer .

<ScrollViewer VerticalScrollBarVisibility="Auto"> ... </ScrollViewer>

O si desea codificarlo en el archivo de código subyacente, puede escribir

ScrollViewer viewer = new ScrollViewer(); viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; // append scroll viewer to window


prueba esto

var xpage = your user control or page to which scroll bar need to be added at runtime xpage.SetValue(ScrollViewer.CanContentScrollProperty, true); xpage.SetValue(ScrollViewer.HorizontalScrollBarVisibilityProperty, ScrollBarVisibility.Auto); xpage.SetValue(ScrollViewer.VerticalScrollBarVisibilityProperty, ScrollBarVisibility.Auto); var scrollViewer = xpage.Content as ScrollViewer; if (scrollViewer != null) { var content = scrollViewer.Content; scrollViewer.Content = null; xpage.Content = content; } else { var content = xpage.Content; xpage.Content = null; xpage.Content = new ScrollViewer { Content = content }; }