【发布时间】:2018-06-17 22:33:38
【问题描述】:
我遇到了组合框和列表框之间的绑定问题。我有四个类 Account1、Account2、Account3、Client。所以类 Client 有 3 个包含帐户的列表。
课堂客户端有 3 个列表:List<Account1>、List<Account2>、List<Account3>。
在 xaml MainWindow 中,我有一个包含客户姓氏的组合框和一个包含客户帐户的列表框,我的问题是,如果我在组合框中选择,则列表框中的客户姓氏应该显示包含该客户帐户的列表。我不知道我该怎么做。
对不起,我的英语不是我妈妈的语言。
xaml
<Window x:Class="kontowe.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:kontowe"
mc:Ignorable="d"
Title="MainWindow" Height="400" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="71*"/>
<RowDefinition Height="203*"/>
<RowDefinition Height="95*"/>
</Grid.RowDefinitions>
<Label Content="Wybierz klienta" HorizontalAlignment="Left" Height="28" Margin="10,20,0,0" VerticalAlignment="Top" Width="122"/>
<ComboBox x:Name="klienci" HorizontalAlignment="Left" Height="28" Margin="162,20,0,0" VerticalAlignment="Top" Width="191"
DataContext="{Binding ElementName=lbStudenci, Path=SelectedItem}"/>
<Button x:Name="nowyklient" Content="Dodaj" HorizontalAlignment="Left" Margin="406,23,0,0" VerticalAlignment="Top" Width="75"/>
<GroupBox x:Name="gbListakont" Header="Konta klienta" HorizontalAlignment="Left" Height="174" Margin="17,19,0,0" Grid.Row="1" VerticalAlignment="Top" Width="471">
<Grid x:Name="gridklienta" HorizontalAlignment="Left" Height="134" Margin="10,10,0,0" VerticalAlignment="Top" Width="432">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="317*"/>
<ColumnDefinition Width="115*"/>
</Grid.ColumnDefinitions>
<Button x:Name="nowekonto" Content="Dodaj konto" Grid.Column="1" HorizontalAlignment="Left" Height="21" Margin="14,15,0,0" VerticalAlignment="Top" Width="91"/>
<Button x:Name="usuwaniekonta" Content="Usuń konto" Grid.Column="1" HorizontalAlignment="Left" Height="21" Margin="14,57,0,0" VerticalAlignment="Top" Width="91"/>
<TextBox x:Name="listakont" HorizontalAlignment="Left" Height="124" Margin="20,0,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="279"
Text="{Binding Path=jakiekonta, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</GroupBox>
<GroupBox x:Name="obsluga" Header="Operacje konta" HorizontalAlignment="Left" Height="75" Margin="25,10,0,0" Grid.Row="2" VerticalAlignment="Top" Width="473">
<Grid x:Name="gridkonta" HorizontalAlignment="Left" Height="38" Margin="4,2,0,0" VerticalAlignment="Top" Width="453">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="206*"/>
<ColumnDefinition Width="247*"/>
</Grid.ColumnDefinitions>
<TextBox HorizontalAlignment="Left" Height="28" Margin="10,10,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="186"/>
<Button x:Name="wplata" Content="Wpłać" Grid.Column="1" HorizontalAlignment="Left" Height="28" Margin="19,10,0,0" VerticalAlignment="Top" Width="92"/>
<Button x:Name="wyplata" Content="Wypłać" Grid.Column="1" HorizontalAlignment="Left" Height="28" Margin="148,10,0,0" VerticalAlignment="Top" Width="89"/>
</Grid>
</GroupBox>
</Grid>
类客户
public class Klient
{
private static int KlientID = 1;
public string numer { get; set; }
public string numerklienta { get; set; }
public string nazwisko { get; set; }
public List<Biezace> rory = new List<Biezace>();
public List<Lokata> lokaty = new List<Lokata>();
public List<Debet> debety = new List<Debet>();
public Klient(string nazwisko)
{
this.numerklienta = (KlientID++).ToString();
this.nazwisko = nazwisko;
rory.Add(new Biezace());
lokaty.Add(new Lokata());
debety.Add(new Debet());
jakieKonta.Add(new ListaKont());
}
public Klient(string nazwisko, string nur)
{
this.numerklienta = nur;
this.nazwisko = nazwisko;
rory.Add(new Biezace());
lokaty.Add(new Lokata());
debety.Add(new Debet());
jakieKonta.Add(new ListaKont());
}
public override string ToString()
{
//return nazwisko + " " + imie + " [" + sr + "]";
string s = this.nazwisko + " ";// + String.Format("{0:N2}", srednia());
return s;
}
}
【问题讨论】:
-
您好,请不要使用
I have four classes Account1, Account2, Account3, Client. So class Client has a 3 lists with accounts. In class client are 3 lists: List List List.,而是发布您的代码,以便大家理解;-)
标签: c# wpf xaml data-binding