gpt4 book ai didi

wpf - 将不相关的属性绑定(bind)到 DataGrid

转载 作者:行者123 更新时间:2023-12-03 10:33:26 28 4
gpt4 key购买 nike

编辑:解决
(我在 ViewModel wrapper 中创建了另一个属性并绑定(bind)到该属性)


我正在尝试绑定(bind)与 ObservableCollection 无关的属性该DataGrid势必会。其他列按应有的方式绑定(bind),只是这一列我似乎无法开始工作。

我尝试使用 RelativeSource AncestorType 绑定(bind)属性直接联系DataContext没有运气。

XAML,ObservableCollection我绑定(bind)的显然被称为 MonthlyRecords这是一个不同类的集合,它以它应该的方式绑定(bind)。它是 property SelectedTenant.FullName这与让我悲伤的收藏无关。

<DataGrid ItemsSource="{Binding MonthlyRecords}" AutoGenerateColumns="False">
<DataGrid.Columns>

<DataGridTemplateColumn Header="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!--Trying to bind this Property in the next line-->
<TextBlock Text="{Binding Path=SelectedTenant.FullName}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

<DataGridTextColumn Width="60" Header="Code" Binding="{Binding UpdateSourceTrigger=LostFocus, Path=TenantCode}" />

这是我要绑定(bind)的属性的类。
public class Tenant 
{
public Tenant()
{
}

public int Code { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string FullName => LastName + " " + FirstName;
public string Section { get; set; }

public Tenant(int code, string lastName = null, string firstName = null, string section = null)
{
Code = code;
LastName = lastName;
FirstName = firstName;
Section = section;
}
}

这是 property在我试图绑定(bind)的 ViewModel 中。
private Tenant _selectedTenant;

public Tenant SelectedTenant
{
get { return _selectedTenant; }
set
{
if (Equals(_selectedTenant, value)) return;
_selectedTenant = value;
OnPropertyChanged();
}
}

我还需要做什么才能将其绑定(bind)到 DataGrid ?

最佳答案

<DataGridTextColumn Header="Name" Binding="{Binding Path=SelectedTenant.FullName, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>

编辑:

我已设置 AutoGenerateColumns="True"
<DataGrid ItemsSource="{Binding MonthlyRecords}" AutoGenerateColumns="True">

<DataGridTextColumn Header="Name" Binding="{Binding ElementName=ComboBoxTenant, Path=DisplayMemberPath}"/>

关于wpf - 将不相关的属性绑定(bind)到 DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124272/

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