【发布时间】:2021-01-29 03:25:53
【问题描述】:
我正在 Windows UWP 应用程序中使用 DataGrid。
我正在尝试通过将 DataGridTextColumn 绑定到我的模型中的颜色值来设置它的 Foreground 属性。我的模型对象有一个名为 Color 的属性,它返回 Windows.UI.Xaml.Media.Brush 类型的值。由于这与 Foreground 属性的类型相同,我假设我可以直接设置它,如下所示:
<DataGridTextColumn Foreground="{Binding Path=Color}" ...
但是,这会导致运行时异常,提示“无法分配属性”。
我看到的代码示例似乎在做同样的事情,我很难理解为什么这不起作用。
【问题讨论】:
-
请发布所有用于绑定的代码。
-
看msdn好像只接受xaml中的字符串
-
你是说 Foreground 属性需要一个字符串吗?我会在这个字符串中放什么?
-
我尝试使用诸如“Red”或“Blue”之类的字符串值。我犯了同样的错误。如果我将它们逐字输入 xaml 文件,这些值确实有效,但不使用 Binding。
-
我也试过使用转换器;同样的错误,我的转换器代码甚至从未被调用。这非常令人困惑。我在其他地方使用转换器来设置颜色没有问题。