下面的示例不应该发出蜂鸣声(在我看来),但它确实发出了。为什么?这是否意味着 SelectedContent
属性没有用?这是 WPF 中的错误吗?
<TabControl SelectionChanged="TabControl_SelectionChanged">
<TabItem Header="Tab 1">
<Grid/>
</TabItem>
<TabItem Header="Tab 2">
<Grid/>
</TabItem>
</TabControl>
void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var t = sender as TabControl;
if (t.SelectedContent != (t.SelectedItem as TabItem).Content) Console.Beep();
}
最佳答案
我做了一些测试,发现 SelectedContent 属性是在使用 SelectionChanged 事件之后设置的,而 SelectedItem 在事件引发之前设置的。!
将其中一个网格更改为 Stackpanel 并在 if 子句上设置断点...
关于wpf - 为什么 TabControl.SelectedContent != (TabControl.SelectedItem as TabItem).Content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551792/