У меня есть этот класс c # с BindingList
public class Jednotka
{
// ~ctors
public Jednotka()
{
CisloJednotky = "";
PodilNaSVJCitatel = 0;
PodilNaSVJJmenovatel = 1;
TypJednotky = "";
VlastniciJednotky = new BindingList<Vlastnik>();
}
public string CisloJednotky { get; set; }
public int PodilNaSVJCitatel { get; set; }
public int PodilNaSVJJmenovatel { get; set; }
public string TypJednotky { get; set; }
public BindingList<Vlastnik> VlastniciJednotky { get; set; }
}
и Класс Властник
public class Vlastnik : Osoba
{
public Vlastnik()
{
this.PodilNaJednotceCitatel = 0;
this.PodilNaJednotceJmenovatel = 1;
this.Bydliste = "";
this.Jmeno = "";
}
public int PodilNaJednotceCitatel { get; set; }
public int PodilNaJednotceJmenovatel { get; set; }
}
Мне нужно связать с DataGrid только "CisloJednotky" с правом "Jmeno".
В моей программе много "Jednotka", и у каждого может быть один или несколько "Jmeno".
Как я могу показать эти два свойства в DataGrid.
Могу ли я использовать xaml Binding?
Я попробую отправить на xaml
DataGridUcast.ItemsSource = SvJschuze.Jednotky;
и в xaml
<DataGrid Name="DataGridUcast" Grid.Row="1"
AutoGenerateColumns="False"
ItemsSource="{Binding Jednotky/VlastniciJednotky}">
<!--Height="{Binding ActualHeight, RelativeSource ={RelativeSource AncestorType = {x:Type Window}}}"-->
<DataGrid.Columns>
<DataGridTextColumn Header="Číslo" Binding="{Binding CisloJednotky}" MinWidth="100"/>
<DataGridTextColumn Header="Jméno" Binding="{Binding Path=Vlastnik.Jmeno}" MinWidth="330" Width="Auto"/>
<!--<DataGridTextColumn Header="Účast" MinWidth="50"/>-->
<DataGridCheckBoxColumn Header="Účast" Binding="{Binding Pritomen, XPath=Pritomen}" MinWidth="50"/>
</DataGrid.Columns>
</DataGrid>
Я попытался сделать больше способов, но безуспешно. У меня есть только "CisloJednotky" внутри DataGrid. Но только один номер, хотя у "CisloJednotky" больше "Vlastnik" с "Jmeno".
Если не недооценивать мой код. Я могу отправить его снова на английском языке.
Большое спасибо за любые советы.