gpt4 book ai didi

wpf - 将 SelectedValue 绑定(bind)到 WPF 组合框

转载 作者:行者123 更新时间:2023-12-04 23:26:58 24 4
gpt4 key购买 nike

我已经尝试上下搜索,但找不到任何东西。我在 ListView 中有一个组合框。 ListView 绑定(bind)到通过数据上下文绑定(bind)到的 Controller 公开的对象列表。列表中项目的属性之一是字符串。我正在尝试将该值绑定(bind)到组合框中的内容。

这是我的 ListView 的片段

<ListView ItemsSource="{Binding Path=OrderLines}" >

<ListView.View>
<GridView>
<GridViewColumn Header="Item Type" Width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="100" SelectedItem="{Binding Path=LineType,ValidatesOnDataErrors=True}" >

<ComboBoxItem>Type1</ComboBoxItem>
<ComboBoxItem>Type2</ComboBoxItem>
<ComboBoxItem>Type3</ComboBoxItem>
<ComboBoxItem>Type4</ComboBoxItem>
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>

在 Controller 中,我有一个像这样的名为 OrderLines 的属性
    private List<OrderLine> orderLines;
public List<OrderLine> OrderLines
{
get { return orderLines; }
set
{
if (value == orderLines)
return;

orderLines= value;

OnPropertyChanged("OrderLines");
}
}

OrderLine 只有一个名为 LineType 的属性,它是一个包含值的字符串。
    private string lineType;
public string LineType
{
get { return lineType; }

set
{
lineType= value;
OnPropertyChanged("LineType ");
}
}

任何人都可以帮助解释为什么未设置所选项目/值。这与我的内容被硬编码有关吗?谢谢你的帮助。

最佳答案

它可能不会绑定(bind),因为 LineType 是一个字符串,而 ComboBox 包含 ComboBoxItems 和一个字符串!= ComboBoxItem。

尝试一些东西

 <ComboBox>
<system:String>Item1</system:String>
<system:String>Item2</system:String>
</ComboBox>

其中 system 是 mscorlib 中引用 System 的命名空间

关于wpf - 将 SelectedValue 绑定(bind)到 WPF 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2328738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com