C# 将列表传递给多值转换器
我有这样的DataGrid列C# 将列表传递给多值转换器,c#,wpf,mvvm,devexpress,C#,Wpf,Mvvm,Devexpress,我有这样的DataGrid列 <dxg:GridControl DockPanel.Dock="Right" Name="gridControl" ItemsSource="{Binding FilterWiseListOfWorkOrder,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" > <dxg:GridColumn Header="Name" >
<dxg:GridControl DockPanel.Dock="Right" Name="gridControl" ItemsSource="{Binding FilterWiseListOfWorkOrder,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" >
<dxg:GridColumn Header="Name" >
<dxg:GridColumn.DisplayMemberBinding>
<MultiBinding Converter="{StaticResource CellBackRoundColorOtTypeConvertor}" >
<Binding Path="RowData.Row" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}" />
<Binding Path="Listofcolor" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}" />
</MultiBinding>
</dxg:GridColumn.DisplayMemberBinding>
</dxg:GridColumn>
</dxg:GridControl>
VM
public List<Ots> FilterWiseListOfWorkOrder
{
get { return filterWiseListOfWorkOrder; }
set
{
filterWiseListOfWorkOrder = value;
OnPropertyChanged(new PropertyChangedEventArgs("FilterWiseListOfWorkOrder"));
}
}
// This will fill in Ctor of Vm
public List<string> Listofcolor
{
get { return listofcolor; }
set { listofcolor = value; }
}
公共列表过滤器WiseListofWorkOrder
{
获取{return filterWiseListOfWorkOrder;}
设置
{
filterWiseListOfWorkOrder=值;
OnPropertyChanged(新PropertyChangedEventArgs(“FilterWiseListOfWorkOrder”);
}
}
//这将填补虚拟机的空白
公共颜色列表
{
获取{return listofcolor;}
设置{listofcolor=value;}
}
问:如何将此颜色列表传递给转换器
尝试了DataContext.Listofcolor
,也尝试了使用ElementName
最新评论
如果您的VM是此usercontrol的DataContext,则通过DataContext访问颜色列表
<Binding Path="DataContext.Listofcolor" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}" />
这就是我缺少的内容
尝试使用DataContext.Listofcolor并尝试使用ElementName
在问题中我提到了设置Viewmodel的主控件是什么,它是窗口还是用户控件?usercontrol
it self请立即检查它。您将需要Datacontext点具有相对资源绑定的内容,否则它将查找控件的属性。我很惊讶你的第一次装订能用。也许Rowdata是用户控件上的dp。我只能猜测,因为你没有给我们足够的代码。别让我们猜了。@Andy我试过使用DataContext.ListoColor
@Andy Check现在放置了所有必需的内容。Listofcolor不是依赖属性。在转换器中放置一个断点,并查看使用DataContext.Listofcolor作为路径时,值[1]中实际得到的内容。也许你得到了正确的东西,但是你的代码没有正确地处理它。@Andy没用,我添加了ss
<Binding Path="DataContext.Listofcolor" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}" />