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 };
}