【问题标题】:WPF toolkit ColorPicker in DataGrid lost focusDataGrid 中的 WPF 工具包 ColorPicker 失去焦点
【发布时间】:2018-08-20 12:38:27
【问题描述】:

我有一个带有 ColorPicker 列的 WPF DataGrid。一切正常,但当用户尝试点击高级按钮(见图)时,ColorPicker 关闭。

当用户再次单击该列时,ColorPicker 会打开,并且“高级”按钮突然起作用。但是当他点击另一列时,它会打开,他想点击高级按钮,ColorPicker 关闭。

这是 XAML 文件中 DataTemplate 的代码

             <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                <xceed:ColorPicker SelectedColor="{Binding Color, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, Converter={StaticResource StringToWindowsMediaColorConverter}}" />
              </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>

任何建议,我该如何解决这个问题?谢谢。

【问题讨论】:

  • 真的没有人有什么建议吗?
  • 我从未使用过 WPF Toolking(或 Xceed 软件),因为他们的免费控件的许可存在不确定性,但我知道在 codeproject.com/Articles/229442/WPF-Color-Picker-VS2010-Style 上发布的 ColorComboBox 效果很好——我我自己在DataGrid 中成功使用了它。
  • 您有没有机会想出一个解决方案并记住它?这篇文章已经有一段时间没有受到关注了。

标签: c# wpf wpftoolkit


【解决方案1】:

我也有这个问题。我做了以下解决方法。

我将ColorPickerIsOpen 属性绑定到一个新属性。然后我在网格中添加一个新列。在本专栏中,我放置了一个新按钮来推动IsOpen 属性。我在IsEnabled = false 上设置了带有ColorPicker 的列。所以打开选择器的唯一方法是按钮列。当ColorPicker被按钮打开时,它会正常工作并保持打开状态,直到点击一个颜色。在标准和高级之间切换没有问题。

创建一个新列打开颜色选择器不太好,但我没有找到其他解决方案。

【讨论】:

    猜你喜欢
    • 2013-04-03
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多