SizeChanged 事件未触发
SizeChanged Event Isn't Firing
所以,我最近一直在研究 SizeChanged
事件,因为我希望我的字体大小按比例缩放,虽然我搜索了很多帖子,但其中 none 对我有用- 我的对象没有开火。
这是我的代码:
private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e) {
welcomeTitleText.Text = "hi";
}
这甚至不像 window 大小那样使用,它只是更改文本,以确保它正在触发。但是,由于某种原因它不起作用。有什么想法吗?
确保您订阅了该活动。您必须在代码中或 xaml.
中注册事件的处理程序
在代码示例中:
public MainWindow()
{
// This call is required by the designer.
InitializeComponent();
// Add any initialization after the InitializeComponent() call.
this.SizeChanged += MainWindow_SizeChanged;
}
或 xaml:
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
...
Loaded="AboutWindow_Loaded">
...
另请注意,有时如果 wpf 的后端认为更改太微不足道,则不会触发 sizeChanged 事件。 See the docs for more details.
提示,您可以尝试将文本包裹在视图框中,这会将其自动调整为最大填充大小。然后你可以限制视图框的大小(即最大宽度,最大高度)(或者它的容器(我建议使用网格,并使用 *(星号)或 pt,more details here 查看列高和行高)实现合理的缩放。例如:
<Viewbox MaxHeight="50">
<TextBlock>I'm Scaled Text</TextBlock>
</Viewbox>
所以,我最近一直在研究 SizeChanged
事件,因为我希望我的字体大小按比例缩放,虽然我搜索了很多帖子,但其中 none 对我有用- 我的对象没有开火。
这是我的代码:
private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e) {
welcomeTitleText.Text = "hi";
}
这甚至不像 window 大小那样使用,它只是更改文本,以确保它正在触发。但是,由于某种原因它不起作用。有什么想法吗?
确保您订阅了该活动。您必须在代码中或 xaml.
中注册事件的处理程序在代码示例中:
public MainWindow()
{
// This call is required by the designer.
InitializeComponent();
// Add any initialization after the InitializeComponent() call.
this.SizeChanged += MainWindow_SizeChanged;
}
或 xaml:
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
...
Loaded="AboutWindow_Loaded">
...
另请注意,有时如果 wpf 的后端认为更改太微不足道,则不会触发 sizeChanged 事件。 See the docs for more details.
提示,您可以尝试将文本包裹在视图框中,这会将其自动调整为最大填充大小。然后你可以限制视图框的大小(即最大宽度,最大高度)(或者它的容器(我建议使用网格,并使用 *(星号)或 pt,more details here 查看列高和行高)实现合理的缩放。例如:
<Viewbox MaxHeight="50">
<TextBlock>I'm Scaled Text</TextBlock>
</Viewbox>