我在使用XAML的应用程序窗口中显示<ScrollViewer>
。目前,我指定<ScrollViewer>
静态的大小(即给它一个设定值时,应用程序运行时不能更改):XAML-如何动态设置ScrollViewer的大小?
<Window>
<Grid>
<TabControl>
<TabItem>
<StackPanel>
<Grid>
<ScrollViewer x:Name="scroller" HorizontalAlignment="Right" VerticalScrollBarVisibility="Auto" Margin="39,10,0,0" VerticalAlignment="Top" Height="244" Width="450">
<TextBox x:Name="infoPane" TextWrapping="Wrap" Text="nothing" IsReadOnly="True" />
</ScrollViewer>
</Grid>
</StackPanel>
</TabItem>
</TabControl>
</Grid>
</Window>
我想要做的,是动态设置宽度将<ScrollViewer>
的值设置为应用程序窗口宽度的一半,以便它将始终覆盖显示内容的一半。
用户可以通过拖动窗口的某个角或边来重新调整应用程序窗口的大小,因此<ScrollViewer>
占用的显示区域应自动始终为应用程序窗口宽度的一半,无论如何那是。
有没有一种方法可以动态设置<ScrollViewer>
Width
属性的值?
我在哪里可以调用'Window.Current.Bounds.Width'?在XAML或C#中?目前,当我试图在XAML中执行时,出现编译错误......在“宽度=”窗口....“将出现一个错误,提示”属性宽度值无效“,并且在C#中,如果我执行'MainWindow.',则自动完成中显示的唯一'width'属性是:'ActualWidthProperty',它标识一个依赖属性,'WidthProperty',它也标识一个依赖属性...即,既不实际上返回窗口宽度的值。 – someone2088
我发布了我的意思是我的答案的第二部分,你应该关注的代码! – WPMed
嘿,感谢您的更新 - 我现在就试一试。但只是看看并思考它 - 并不意味着我将我的主窗口显示分为两个,并在其中一个显示“”......所以它没有区别到“”的实际大小,它只是改变显示空间的大小。即如果我这样做了,并且在应用程序运行时手动调整了我的窗口大小,那么'ScrollViewer>的大小仍然会固定为我设置其'width'属性的值,不是吗? –
someone2088