Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF-加载时由源覆盖的可编辑组合框文本_C#_Wpf_Xaml_Combobox - Fatal编程技术网

C# WPF-加载时由源覆盖的可编辑组合框文本

C# WPF-加载时由源覆盖的可编辑组合框文本,c#,wpf,xaml,combobox,C#,Wpf,Xaml,Combobox,我有一个可编辑的组合框,它也有一个项目源,有效地用来提示用户该框的一些标准条目,同时允许用户自由输入自定义条目。因此,当我绑定到一个具有值的属性(该值不是列表中的值)时,一切正常。它将组合框文本设置为项源中的第一项。需要明确的是,以下步骤说明了这个问题 我用一个干净的模型打开视图(所有属性都是null/默认值) 我在可编辑组合框中输入自定义值 我保存模型 我把视野关上 我使用先前保存的模型重新打开视图 我保存的自定义值应该显示在可编辑的组合框中,但是它会被项目源列表中的第一个值覆盖 注意:模型属

我有一个可编辑的组合框,它也有一个项目源,有效地用来提示用户该框的一些标准条目,同时允许用户自由输入自定义条目。因此,当我绑定到一个具有值的属性(该值不是列表中的值)时,一切正常。它将组合框文本设置为项源中的第一项。需要明确的是,以下步骤说明了这个问题

  • 我用一个干净的模型打开视图(所有属性都是null/默认值)
  • 我在可编辑组合框中输入自定义值
  • 我保存模型
  • 我把视野关上
  • 我使用先前保存的模型重新打开视图
  • 我保存的自定义值应该显示在可编辑的组合框中,但是它会被项目源列表中的第一个值覆盖
  • 注意:模型属性中的值未更改,此问题纯粹是视觉问题

    那么,如何阻止itemsource覆盖自定义条目呢

    下面是组合框XAML:

    <ComboBox IsEditable="True" ItemsSource="{Binding Contact_Types, Mode=OneTime, Source={StaticResource Resources}}" Text="{Binding Model.type, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />