我在窗口中有一个工具栏,我想隐藏工具栏上的流程按钮 使用以下代码
private void FrameworkElement_OnLoaded(object sender, RoutedEventArgs e)
{
var toolBar = sender as ToolBar;
if (toolBar != null && !toolBar.HasOverflowItems)
{
var overflowGrid = toolBar.Template.FindName("OverflowGrid", toolBar) as FrameworkElement;
if (overflowGrid != null)
{
overflowGrid.Visibility = Visibility.Collapsed;
}
}
}
现在当窗口重新调整大小时,工具栏实际上可能会溢出,然后我想再次触发此加载方法。
如何实现这一目标?
答案 0 :(得分:0)
有一个SizeChanged
事件,我认为这是你正在寻找的事情。在你窗口的XAML中:
<Window . . .
SizeChanged="OnSizeChanged">
然后,在您的代码中,从OnSizeChanged函数调用现有函数。
或者您可以像这样引发FrameworkElement_Loaded事件:
RoutedEventArgs args = new RoutedEventArgs( FrameworkElement.LoadedEvent, this );
RaiseEvent(args );
修改强> 更正了第二个代码片段以引发Loaded事件,而不是SizeChanged事件。