【发布时间】:2021-03-05 19:52:01
【问题描述】:
很抱歉问了这个基本问题,但我厌倦了搜索所有内容,我找不到任何有用的东西。
我想在数据模板中使用一个带有一个复选框的列表框,就像 .Net 中的 CheckBoxList 一样,我唯一想做的是:在前面有名称的复选框列表,选择一个,然后打开一键单击事件检查列表框中的项目并检索所选复选框的文本。
我是一名 .NET 程序员,但这开始让我感到厌烦。
这是 ListBox XAML 代码。
<ListBox Height="299" Name="lstbEquipas" Width="432">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Name="ckbEquipa" Content="{Binding Designacao}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这是我用来填充列表框的东西,它的工作方式与 aspnet 中的 CheckListBox 完全一样,是前面带有文本的复选框列表。
GameManager.GameManagerSoapClient GM;
public Page1()
{
InitializeComponent();
GM = new GameManager.GameManagerSoapClient();
GM.LerEquipasAsync();
GM.LerEquipasCompleted += new EventHandler<GameManager.LerEquipasCompletedEventArgs>(GM_LerEquipasCompleted);
}
void GM_LerEquipasCompleted(object sender, GameManager.LerEquipasCompletedEventArgs e)
{
XDocument data = XDocument.Load(new StringReader(e.Result));
var equipas = from query in data.Descendants("Equipas")
select new Equipa
{
ID = (int)query.Element("ID"),
Designacao = (string)query.Element("Designacao"),
};
lstbEquipas.ItemsSource = equipas;
}
这是上面使用的类。
public class Equipa
{
int iD;
string designacao;
public int ID
{
get { return iD; }
set { iD = value; }
}
public string Designacao
{
get { return designacao; }
set { designacao = value; }
}
}
我要做的就是在按钮单击事件中,获取 ListBox 中第一个选中复选框的文本。所以我可以将它发送到网络服务并保存到数据库中。
private void btnRegistar_Click(object sender, RoutedEventArgs e)
{
int i = 0;
foreach (ListBoxItem Item in this.lstbEquipas.Items)
{
//i want to check the checkbox were
}
//GM.InserirNovoUtilizadorAsync(this.txtLoginUtilizador.Text, this.txtLoginPassword.Password, 1);
//GM.InserirNovoUtilizadorCompleted += new EventHandler<GameManager.InserirNovoUtilizadorCompletedEventArgs>(GM_InserirNovoUtilizadorCompleted);
}
任何帮助将不胜感激
【问题讨论】:
标签: c# windows-phone-7 checkbox listbox