我有一个DataSrid,ItemsSource是List<string>
。
第二列是ComboBox,它也绑定到List<string>
,但另一列。
当用户点击按钮时,我想在命令功能中看到两个要传递的参数:绿色和红色。那么,怎么做呢?
所以在我的按钮栏中,我希望看到像:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="click"
Command="{Binding DataContext.ListenCmd, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
Margin="5,5">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource MultiConverter}">
<Binding Path="--First Column Value--"/>
<Binding Path="--Second Column Value--"/>
</MultiBinding>
</Button.CommandParameter>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
答案 0 :(得分:0)
将Multibining用作:
<MultiBinding Converter="{StaticResource MultiConverter}">
<Binding RelativeSource="{RelativeSource AncestorType={x:Type DataGridCellsPanel}}" Path="Children[0].Content.Text"/>
<Binding RelativeSource="{RelativeSource AncestorType={x:Type DataGridCellsPanel}}" Path="Children[1].Content.Text"/>
</MultiBinding>
我希望您在MultiConverter
中有一个逻辑将两个值封装到一个object
中。
如果您使用任何复杂的
DataGridCell
Template
,则上述绑定可能会导致问题。