C# WPF复选框标记即使在XAML中设置,也为空

C# WPF复选框标记即使在XAML中设置,也为空,c#,wpf,xaml,C#,Wpf,Xaml,我试图利用WPF复选框的Tag属性。这是我的XAML: <CheckBox Content="BTC/USD" HorizontalAlignment="Left" Margin="14,0,0,41" VerticalAlignment="Bottom" IsChecked="True" Checked="CheckBox_Checked" Tag="btcusd" Unchecked="CheckBox_Checked"/> 当我打开我的应用程序时,CheckBox\

我试图利用WPF复选框的Tag属性。这是我的XAML:

<CheckBox Content="BTC/USD" HorizontalAlignment="Left" Margin="14,0,0,41" 
VerticalAlignment="Bottom" IsChecked="True" Checked="CheckBox_Checked" Tag="btcusd" 
 Unchecked="CheckBox_Checked"/>


当我打开我的应用程序时,
CheckBox\u Checked
立即被调用,但发件人的标记属性为空。为什么会发生这种情况?

当您设置IsChecked=“True”时,选中的属性在XAML加载时设置正确。只有当XAML加载代码决定设置此属性时,才可以稍后加载标记。这就是为什么您可以看到未初始化的属性。

这是一个很糟糕的情况,属性的顺序影响应用程序的行为。我建议在控件初始化之后订阅事件,也就是在C#behind中。在设计UI行为时,我尽量避免代码隐藏。是的,它是正确的,方法是在设置标记之前调用的。对标记进行简单的空检查解决了我的问题。