wpf 动态添生成Expander

从数据库读取数据,班级分类为Expander.Header,班级为Expander.Content,请说的详细点,本人刚接触Expander。... 从数据库读取数据,班级分类为Expander.Header, 班级为Expander.Content ,请说的详细点,本人刚接触Expander。 展开
 我来答
Mickal小米
2012-06-12 · TA获得超过3667个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1788万
展开全部
写了个demo给你,希望能帮到你。
首先是两个类。
public class TestClass
{
public int ClassTypeId { get; set; }
public List<TestClassRoom> ClassRooms { get; set; }
}

public class TestClassRoom
{
public string classroomId { get; set; }
}
后台代码:
List<TestClass> classlist;
public ToolTipTestWindow()
{
InitializeComponent();
LoadData();
Expander ep;
foreach (TestClass ts in classlist)
{
ep = new Expander();
ep.Header = ts.ClassTypeId;
ep.Content = new ListBox()
{
ItemsSource=ts.ClassRooms,
DisplayMemberPath = "classroomId"
};
sp.Children.Add(ep);
}
}

private void LoadData()
{
classlist = new List<TestClass>();
TestClass class1 = new TestClass();
class1.ClassTypeId = 1;
List<TestClassRoom> list1 = new List<TestClassRoom>()
{
new TestClassRoom(){classroomId="1a"},
new TestClassRoom(){classroomId="1b"},
new TestClassRoom(){classroomId="1c"},
};
class1.ClassRooms = list1;
classlist.Add(class1);
TestClass class2 = new TestClass();
class2.ClassTypeId = 2;
List<TestClassRoom> list2 = new List<TestClassRoom>()
{
new TestClassRoom(){classroomId="2a"},
new TestClassRoom(){classroomId="2b"},
new TestClassRoom(){classroomId="2c"},
};
class2.ClassRooms = list2;
classlist.Add(class2);
}
前台代码:
<StackPanel x:Name="sp"></StackPanel>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式