WPF TwoWay不能在X(退出)上工作,但可以在TAB或单击其他地方工作



我的XAML中有以下内容:

<TextBox Name="TitleValue" 
         Text="{Binding ElementName=ListValue, Path=SelectedItem.Title, Mode=TwoWay}"
<TextBox Name="DescValue"
         Text="{Binding ElementName=ListValue, 
                        Path=SelectedItem.Description, Mode=TwoWay}"

当我在TitleValue或DescValue和Tab中输入值或单击窗口中的不同位置时,集合类属性被正确更新。然后,当我单击X退出窗口时,集合类中的数据被正确保存。

但是,当我在这些字段中输入一个值,然后单击X退出窗口时,集合类中的数据将被保存,但输入的值不会为我单击X时正在编辑的特定字段保存。

我在字段上实现了失去焦点事件,即使在单击X时它们也能工作。在这些事件中,我输入了以下代码:

private void Event_DescValue_LoseFocus(object sender, RoutedEventArgs e)
{
    ((Import)ListValue.SelectedItem).Description = ((TextBox)e.OriginalSource).Text;
}

但这也不起作用。下面的代码也不能用:

Imports[ListValue.SelectedIndex].Description = ((TextBox)e.OriginalSource).Text;

在编辑字段时单击X时,我如何获得集合类Imports来更新所选类Import ?

它应该完全像我在窗口的其他地方点击正在编辑的字段或选项卡一样工作

修改绑定的UpdateSourceTrigger为PropertyChanged.

一样:

<TextBox Name="TitleValue" Text="{Binding ElementName=ListValue, 
     Path=SelectedItem.Title, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

相关内容

最新更新