我需要能够避免得到负值。当窗口浏览器调整大小但是没有达到负值以避免出错时,我需要datagrid缩小。那可能吗?提前谢谢。
这是我的代码:
public SilverlightResizeTest()
{
InitializeComponent();
// Set the height for the DataGrid when the browser window changes size
App.Current.Host.Content.Resized += new System.EventHandler(Content_Resized);
// Set the initial height for the DataGrid
double x = App.Current.Host.Content.ActualHeight;
if (x != 0)
{
DataGrid.Height = (x - 485.0);
}
}
void Content_Resized(object sender, System.EventArgs e)
{
// Set the height for the DataGrid when the browser window changes size
double x = App.Current.Host.Content.ActualHeight;
if (x != 0)
{
DataGrid.Height = (x - 485.0);
}
}
答案 0 :(得分:3)
DataGrid.Height = Math.Max(0.0, x - 485.0);
答案 1 :(得分:3)
这个
DataGrid.Height = Math.Max(0, x - 485.0);
或者
DataGrid.Height = (x - 485.0);
if(DataGrid.Height < 0) DataGrid.Height = 0;
或......
真的,有很多方法可以做到这一点。
答案 2 :(得分:1)
您可以尝试使用onn Content_Resized方法
DataGrid.Height = x > (485.0) ? (x - 485.0) : DataGrid.Height;
这样,如果新的高度为0,它会保持之前的高度,也可以定义数据网格的最小高度:并使用此行代替:
DataGrid.Height = x > (485.0 + minHeight) ? (x - 485.0) : DataGrid.Height;
答案 3 :(得分:1)
为什么不检查它? :
DataGrid.Height = Math.Max(0 , x - 485.0);
答案 4 :(得分:1)
DataGrid.Height = Math.Max((x - 485.0), 0.0);