Ome*_*Mor 7 wpf resize expander
我有一个带可扩展面板(via Expander)的WPF窗口.面板位于窗口的左侧,展开后窗口会增大以适应内容.
默认情况下,窗口固定在左上角,因此我的窗口向右移动.我希望窗户向左侧增长.
我试图在Window.SizeChanged事件中做以下事情:
private void onWindowSizeChanged(object sender, SizeChangedEventArgs e)
{
Left -= (e.NewSize.Width - e.PreviousSize.Width)
}
Run Code Online (Sandbox Code Playgroud)
它有效,但增长不稳定,我想找到一个更顺畅的解决方案.
我设法使用一个简单的解决方案克服了这个问题:隐藏和显示。
这是代码:
protected override void OnRenderSizeChanged(SizeChangeInfo sizeInfo)
{
if (!sizeInfo.WidthChanged)
{
base.OnRenderSizeChanged(sizeInfo);
return;
}
Hide();
base.OnRenderSizeChanged(sizeInfo);
Left -= (sizeInfo.NewSize.Width - sizeInfo.PreviousSize.Width);
Show();
}
Run Code Online (Sandbox Code Playgroud)
我用Window.SizeChanged的覆盖替换了 的事件处理程序FrameworkElement.OnRenderSizeChanged。
| 归档时间: |
|
| 查看次数: |
3461 次 |
| 最近记录: |