gpt4 book ai didi

c# - 将外键表示为 WPF StackPanel GridViewColumn 中的某个其他值

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:33 25 4
gpt4 key购买 nike

我有一个 StackPanel,它将其 GridColumns 设置为实体属性的列/表 Columnms。许多列是来自其他表的外键。下面的一个简短示例显示了这样一个外键 - CustomerID。

<StackPanel Orientation="Vertical" Margin="5">
<Label Content="Tests to Run" FontWeight="Bold" x:Name="TestsToRunLabel"/>
<ListView ItemsSource="{Binding SelectedTechnician.Tests}"
SelectedItem="{Binding SelectedTest}" x:Name="AvailableTestsListView" Height="140">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" Width="auto" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Test" Width="auto" DisplayMemberBinding="{Binding CustomerId}"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>

正如预期的那样,这只是显示与键关联的整数值,而不是一些“用户可读”值,例如客户名称或其他一些有用的值。

如果可能的话,我如何“转换”或表示像 CustomerId 这样的外键以在 Customer 表中显示其他值?

这实际上会像现在一样获取 key 并到达 Customer 表并获取诸如 Customer.Name 之类的内容作为我的 StackPanel 中的代表属性。

注意事项:

测试和客户是代码优先的实体。我也在使用 MVVM,所以如果这是我需要在 ViewModel 而不是 XAML 中操作的东西,请告诉我。

最佳答案

为了解决我自己的问题,我在我的业务模型对象上创建了一组“仅显示”属性,该对象仅执行 LINQ 查询以返回更有意义的属性/属性/列:

public string CustomerName
{
get
{
var db = new Context();

var customer = db.Customers.Find(CustomerId);
_customerName = customer.Name;

return _customerName;
}
}

关于c# - 将外键表示为 WPF StackPanel GridViewColumn 中的某个其他值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15304726/

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