1

我的 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?

它的工作方式应该与我在正在编辑的字段或单击窗口中的其他地方的选项卡上完全一样。

4

1 回答 1

1

将绑定的UpdateSourceTrigger修改为 PropertyChanged。

像这样:

<TextBox Name="TitleValue" Text="{Binding ElementName=ListValue, 
     Path=SelectedItem.Title, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
于 2013-04-05T17:44:40.277 回答