我无法调整WPF控件(我将Grid在本例中使用控件)的大小调整Client为a区域的大小Window.我意识到Grid默认情况下自动填充所有可用空间,但是我需要手动设置Grid's' Width,以便我可以从另一个控件绑定它(如果它有任何区别Width,Star则将其列之一设置为DataGrid ) .
请考虑以下XAML:
<Window x:Class="TestApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="768" Width="1024"
x:Name="mainWindow">
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Auto">
<Grid x:Name="testGrid" Background="DarkGray">
</Grid>
</ScrollViewer>
</Window>
Run Code Online (Sandbox Code Playgroud)
以下Code-Behind:
using System.Windows;
namespace TestApplication
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
testGrid.Width = mainWindow.Width - (SystemParameters.BorderWidth * 2);
}
}
}
Run Code Online (Sandbox Code Playgroud)
运行这个简单的应用程序时,其Grid宽度略大于该Client区域的宽度Window,从而导致 …