我有一个带有多个选项卡的WPF应用程序。用户可以在每个选项卡下更改某些设置(使用CheckBoxes,TextBoxes等),然后用户必须单击“更新”按钮才能保存这些设置。一切正常,但要求之一是警告用户是否尝试切换到其他选项卡而不单击“更新”按钮。
所以我正在尝试使用
TabItem_LostFocus
事件处理程序来实现它,但是每次我点击选项卡中的某个东西时都会触发此事件。我想我可以通过放置来修补此问题
e.Handled = true
对于我拥有的每个控件,但这听起来都不是一个优雅的解决方案(尤其是当我在选项卡下没有所有单击事件处理程序时)。还有什么其他方法可以确定何时从当前选项卡切换到其他选项卡?
谢谢
最佳答案
为了满足您的要求,您只需要将数据绑定到TabControl.SelectedIndex
或TabControl.SelectedItem
属性:
<TabControl ItemsSource="{Binding TabItemCollection}"
SelectedItem="{Binding SelectedTabItem}" />
然后在您的视图模型或代码后面:
private YourDataType selectedItem;
public YourDataType SelectedItem
{
get { return selectedItem; }
set
{
// selectedItem represents the previous TabItem
// value represents the new TabItem
selectedItem = value;
}
}
关于c# - WPF,检测您正在从哪个选项卡导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27622457/