当其中任意 1 个组合框发生更改时,列表框中的所有组合框都会发生变化

2024-03-21

我有一个ListBox在绑定到的表单上ObservableCollection自定义类型。每个项目内都有一个ComboBox绑定到枚举类型。当窗口加载时,所有ComboBoxes 默认为某个值。当我改变SelectedItem对于任何一个(来自 UI,而不是来自代码),所有其他ComboBoxes 更改为相同SelectedItem.

我不确定我做错了什么,这是我当前处理此问题的 XAML。

<Window.Resources>
    <ObjectDataProvider x:Key="SyncOperationValues"
                        MethodName="GetNames"
                        ObjectType="{x:Type sys:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="local:SyncOperationEnum" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
...
    <DataTemplate x:Key="SyncListTemplate">
        <Grid Grid.Column="1" Grid.RowSpan="2" Margin="0,0,20,0" x:Name="olDetails"
            DataContext="{Binding Path=OlContact}">
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
            <RowDefinition />
            </Grid.RowDefinitions>
...
            <ComboBox x:Name="SyncOp" 
                Width="120" Height="19"
                Margin="4,0,10,0" 
                IsSynchronizedWithCurrentItem="True" 
                ItemsSource="{Binding Source={StaticResource SyncOperationValues}}"
                             SelectedItem="{Binding Operation}"
                             VerticalAlignment="Center" />

...

and the ListBox:

 <ListBox x:Name="SyncList"
     ScrollViewer.HorizontalScrollBarVisibility="Hidden"
     ItemContainerStyle="{StaticResource StretchedContainerStyle}"
     ItemTemplate="{StaticResource SyncListTemplate}">
 ListBox>

我尝试了一些不同的选项,比如绑定到CollectionView;但似乎没有任何作用。谁能指出我的错误吗?

Thanks!


我遇到了与此类似的情况,并将 ComboBox 上的 IsSynchronizedWithCurrentItem 属性设置为“False”修复了该问题。按照我的理解,将值设置为“True”意味着组合框值将同步列表框当前项目的值。基本上,所有 ComboBox 都绑定到相同的值。听起来这就是你正在经历的事情。尝试:

IsSynchronizedWithCurrentItem="False"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当其中任意 1 个组合框发生更改时,列表框中的所有组合框都会发生变化 的相关文章

随机推荐

  • Azure 持久编排功能触发两次

    我正在尝试实现 Azure Durable Function 工作流程 每隔 6 分钟 我就会有一个 Azure TimerTrigger 函数调用一个 Azure Orchestration Function OrchestrationT
  • 在 CodeIgniter 中发送数据和重定向

    我有一个简单的 C CRUD 函数 我想发送一条消息 错误或成功 以及来自我编写的 插入 函数的重定向 有没有办法通过重定向来附加 POST 字段 在伪代码中我有 function view all set up some initial
  • python读取大型二进制文件最有效的方法是什么

    我有一个大 21 GB 文件 我想将其读入内存 然后传递给一个子例程 该子例程对我透明地处理数据 我在 Centos 6 5 上使用 python 2 6 6 因此无法升级操作系统或 python 目前 我正在使用 f open image
  • Git 克隆中的 Ansible 和 Git 权限被拒绝(公钥)

    我有一本剧本 我试图从私人存储库 GIT 克隆到服务器 我已经设置了 ssh 转发 当我 ssh 进入服务器并尝试从同一存储库手动克隆时 它成功工作 但是 当我使用 ansible 将存储库克隆到服务器时 它失败并显示 权限被拒绝公钥 这是
  • Threejs 变换矩阵排序

    我想知道 Threejs 如何对多个矩阵进行排序 例如 var mesh new THREE Mesh geometry material mesh position set 0 20 0 T transform matrix mesh r
  • XML 模式 xs:alternative 在 JSON 模式中是否可用?

    是否可以在 JSON Schema 中使用替代方案 在 XSD 中 这可以使用xs alternative元素 例如参见 如何在 XML Schema 1 1 中使用替代方案 https stackoverflow com question
  • 交叉编译器默认包含路径设置

    首先 一些背景知识 我正在尝试在 Beagleboard xM 上编写 Android 驱动程序和应用程序 我已经下载了他们的 Android 开发套件 安装了它 并且可以使用以下指示成功构建其中的所有内容http processors w
  • 纱线全局命令在 Mac 上失败

    我正在尝试使用纱线添加 vtex 但出现以下错误 Usage Error The yarn global commands have been removed in 2 x consider using yarn dlx or a thir
  • 带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

    我有一个使用 Azure Static Web App 部署的 vue 项目 项目包含路由器 历史模式 功能 它在本地运行完美 但部署到 Azure 路径链接后无法正常工作 例如 当我尝试从浏览器导航访问 mysite com about
  • 我可以在 C 或 C++ 中使用二进制文字吗?

    我需要使用二进制数 我尝试写 const char x 00010000 但这没有用 我知道我可以使用与以下值相同的十六进制数00010000 但我想知道 C 中是否有二进制数的类型 如果没有 是否有其他解决方案可以解决我的问题 如果您使用
  • 恢复域对象的最佳方法

    这是一个如此简单而常见的场景 我想知道到目前为止我是如何做到的以及为什么现在遇到问题 我有这个对象 基础设施程序集的一部分 public class Queue public class QueueItem public QueueItem
  • 使用 JavaScript 测试 url 可用性

    是否可以通过 jQuery 或纯 JavaScript 测试另一个域上的网页是否可用 我尝试使用 ajax 调用获取响应标头 但无论我测试自己的域之外的哪个网站 我都会收到错误 那么我的服务器上真的需要代理脚本吗 或者我可以跳过该请求吗 是
  • 如何为邮递员请求生成未来的日期和时间

    name IronMan phone number 555555555 number of guest 10 tables 2 reservation start at 2020 10 15T10 00 00 861873Z reserva
  • 按行组合 pandas 数据帧的有效方法

    我有 14 个数据框 每个数据框有 14 列和超过 250 000 行 数据框具有相同的列标题 我想按行合并数据框 我尝试将数据帧连接到 不断增长的 数据帧 这需要几个小时 本质上 我做了如下 13 次这样的事情 DF pd DataFra
  • 应用“文本溢出:省略号;”到内部 div

    I have a div structure similar to following image 我需要应用 文本溢出 省略号 在较小的窗口中使用此 div 结构中的文本 图 2 但它并没有像我预期的那样适用 这是我的 HTML 代码 h
  • Android 的所选项目选择器不起作用

    我有一个列表视图 我想在其中以自定义方式突出显示所选项目 我正在设置适配器中的每个项目属性getView方法 包括itemView setSelected true 主布局通过以下方式定义列表视图
  • C# 比较两个不同对象的列表[重复]

    这个问题在这里已经有答案了 I saw 比较两个 List 的最快方法 https stackoverflow com questions 12795882 quickest way to compare two list但我很难使其适应我
  • 级联空引用异常检查?

    有没有办法在 C 中进行通用级联空引用检查 我想要实现的是 如果我试图访问一个字符串变量 它是类 C 的一部分 而类 C 又在类 B 中 而类 B 又在 A 中 ABC str 如果我传入 A 我必须检查 A 是否为空 然后检查 B 是否为
  • 使用 smack 库的 GCM NoResponseException:回复超时内未收到响应

    我是 gcm 新手 我尝试使用 Smack API 连接到 GCM 的云连接服务器 XMPP 一开始还好 我的代码 uid 123456789 apiKey A B XMPPTCPConnectionConfiguration Builde
  • 当其中任意 1 个组合框发生更改时,列表框中的所有组合框都会发生变化

    我有一个ListBox在绑定到的表单上ObservableCollection自定义类型 每个项目内都有一个ComboBox绑定到枚举类型 当窗口加载时 所有ComboBoxes 默认为某个值 当我改变SelectedItem对于任何一个