我需要根据事件处理程序更改 Window 的属性(例如背景颜色)。 我们可以通过在windows.Resources中编写它来轻松地对窗口内的任何控件执行此操作,如下所示。
<Window x:Class="WpfApplication8.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApplication8"
mc:Ignorable="d"
>
<Window.Resources>
<ResourceDictionary>
<Style TargetType="{x:Type Button}" >
<EventSetter Event="SizeChanged" Handler="OnbuttonLoaded"/>
</Style>
</ResourceDictionary>
</Window.Resources>
<StackPanel>
<Button x:Name="Button1" Width="100" Height="20"/>
<Button Width="100" Height="20"/>
<Button Width="100" Height="20"/>
<Button Width="100" Height="20"/>
<Button Width="100" Height="20"/>
</StackPanel>
</window>
xaml.cs如下
private void OnbuttonLoaded(object sender, RoutedEventArgs e)
{
Button1.Background = Brushes.Red;
}
但是当我需要更改窗口的背景颜色时,它的SizeChanged。我能做什么??? 请帮忙......谢谢
答案 0 :(得分:0)
为什么不使用Window Style属性?
<Window.Style>
<Style TargetType="{x:Type Window}">
<EventSetter Event="SizeChanged" Handler="EventSetter_OnHandler"/>
</Style>
</Window.Style>
如果您需要一些全球解决方案,请将其放入App Resources。