- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试对数字内容进行列排序。多重绑定(bind)转换器工作正常。此解决方案会将 SortMemberPath 设置为 null
我尝试了多种方法,并大量搜索了互联网。
出于安全目的,代码已从原始代码修改。
<DataGridTemplateColumn x:Name="avgPriceColumn">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource avgPriceConverter}">
<Binding Path="NumberToDivideBy" />
<Binding Path="TotalDollars" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.SortMemberPath>
<MultiBinding Converter="{StaticResource avgPriceConverter}">
<Binding Path="NumberToDivideBy" />
<Binding Path="TotalDollars" />
</MultiBinding>
</DataGridTemplateColumn.SortMemberPath>
</DataGridTemplateColumn>
编辑:我找到了一种无需多重绑定(bind)即可使数据绑定(bind)工作的方法,但排序仍然不起作用。由于 DataGrid 绑定(bind)到自定义类,我接受了整个值并从中转换,从而减少了对 MultiBinding 的需求。
<DataGridTextColumn x:Name="avgPriceColumn" Binding="{Binding Converter={StaticResource avgPriceConverter}}" SortMemberPath="{Binding Converter={StaticResource avgPriceConverter}}" />
在这两个选项上,SortMemberPath 默认设置为 Binding,因此我不需要像我那样明确定义它
然而,这最终会将 SortMemberPath 值设置为 null,这与适用于我的代码环境的自定义约束冲突,并且不会排序。所以我仍然对更好的解决方案感兴趣。
编辑:
更改了其他地方的冲突代码以允许重复的 SortMemberPath,不支持对某些列进行排序,并且不支持对相邻列值进行排序
最佳答案
SortMemberPath期望属性的名称(例如“TotalDollars”)而不是单个计算的行值。把它想象成标题,你为整列设置一次。您的转换器将返回一个类似于 15 的数字,其中 SortMemberPath 需要一个绑定(bind)路径字符串。
想到的两个选项:
在您的支持对象上提供一个计算属性(例如“AveragePrice”)并绑定(bind)到它。无需转换器或排序成员路径。
public double AveragePrice
{
get { return TotalDollars / NumberToDivideBy; }
}
希望对您有所帮助。 :)
关于c# - MultiBinding 上的 DataGridColumn SortMemberPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193203/
MultiBinding 到背景属性不起作用。转换后,背景只是变成系统的默认颜色,而不是我在 MultiValueConverter 中设置的颜色。其他一切都已正确设置。我的 MultiBinding
让我们考虑一种动物 Model如下: public class Animal { public string name { set; get; } public int age { s
下面的代码将列宽:Samp1.ActualWidth 和 Samp2.ActualWidth 绑定(bind)到 StatName.Width。请参阅:Bind DataGrid Column Wid
我在尝试将现有 XAML 转换为 MultiBinding 时遇到问题。 当前代码(需要替换)是 我现在拥有的:
我正在尝试转换一些单位。Convertback 函数应如何处理以下内容。获得以下 XAML。标签设置为我的 ViewModel 中的唯一对象。 这种风格...
我想做类似的事情 post但使用MultipleBindings。 所以是这样的:
以下代码用于绑定(bind) ListView,但对 ListView 的任何更改都不会返回到内存中的数据结构。当我有标准绑定(bind)时,它可以双向工作,但不能使用多重绑定(bind)。我需要使用
在 中设置样式(假设转换器返回红色)
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 1年前关闭。 Improve this question
我正在尝试使用标签控件在 XAML 中显示一个字符串。以下是我的 XAML 代码:
如何跳过更新MultiBinding的一些子绑定(bind)?我已经在代码隐藏中定义了一个 MultiBinding ,它需要两次读取-仅属性和一个普通属性生成单个值。在 ConvertBack 的情
我正在 wpf TreeView 上使用上下文菜单,并且我几乎可以满足我的需求。在解释问题之前,让我先解释一下上下文菜单的 XAML 定义的作用。 对于上下文菜单中的每个菜单项,我们都有一个命令,该命
使用 com.google.inject.multibindings.Multibinder 时,我对泛型有点困惑如下: interface MessageParser { fun accept(
我知道我可以使用特定注释进行 Guice 多重绑定(bind),如下所示 Multibinder.newSetBinder(binder(), Bound.class, Annotation.clas
基本上我需要知道的是如何发送 HierarchicalDataTemplate 的来源绑定(bind)到一个绑定(bind)中,这就是我所拥有的:
我创建了一个内联 MultiBinding使用 this post作为引用。更具体地说,我正在使用 Christian Myksvoll 的答案来创建自定义绑定(bind)。我的类(class)看起来
我有一个内置动态语言切换的应用程序。根据所选的文化,整个应用程序中的字符串都会发生变化。翻译后的字符串及其原始值来自资源文件。我使用绑定(bind)将资源值附加到按钮、标签等。大部分绑定(bind)发
我想做的很简单。我有一个窗口,我希望将标题绑定(bind)到两个不同的属性。每次属性之一更改时,标题都应更新。 我首先尝试的但没有成功 错
我创建了一个自定义的 MultiValue Converter 来在 MultiBinding 到 TextBox 时执行一些逻辑;但是我不想使用 convertBack,因为绑定(bind)值没有编
我这辈子都做不到。我需要从文本 block 中的一对时间跨度对象显示 hh:mm,但它无法正常工作。这是我目前所拥有的:
我是一名优秀的程序员,十分优秀!