将组合框选择从StaticResource绑定到Datagrid ItemSource



我正在尝试绑定我的列表VC_Functions,它是我的组合框的StaticResource。所选值应双向绑定到ComboBox所在的数据网格的ItemsSource的参数function_tidVC_Functions定义为vc_double的列表。

因此,从本质上讲,我试图从一个包含两个参数namedesc的列表中填充我的组合框。name应该是下拉列表中显示的值,然后将其绑定到数据网格的ItemSource中的function_tid的值。

我想它是SelectedValuePath、SelectedValue等的组合。但是我对WPF不太熟悉。

这就是我的XAML当前的样子:

<DataGridTemplateColumn Header="Function TID" Width="80*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding function_tid}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Height="22"
IsEditable="True"
IsTextSearchEnabled="True"
ItemsSource="{StaticResource VC_Functions}"
SelectedItem="{Binding name}"
DisplayMemberPath="name">
<ComboBox.ItemContainerStyle>
<Style>
<Setter Property="Control.ToolTip" Value="{Binding desc}"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

VC_Functions由VC_double:组成

public class vc_double
{
public string desc { get; set; }
public string name { get; set; }
public vc_double() { }
}

数据网格项目来源:

public class DataGridRows
{
public string function_tid { get; set; }
... etc
}

我想澄清的一件事是,ComboBox按预期从VC_Functions填充正确的值,但每当选择其中一个值时,就会发生绑定错误,并且不会绑定到function_tid

所以我实际上找到了解决方案,而且它相对简单。

我更换了

SelectedItem="{Binding name}"

带有线路

SelectedValue="{Binding function_tid}"
SelectedValuePath="name"

相关内容

  • 没有找到相关文章

最新更新