日期:2014-05-17  浏览次数:20865 次

WPF,这种动态设置XAML是怎么弄的?
比如有下面这样一种布局结构:
<Grid>
    <TextBox/>
    <Grid Name="grid1">
      ...
      ...
    </Grid>
</Grid>

假设在TextBox中输入不同的字符串,grid1里面就显示对应的内容,就像一个字典一样。也就是说不同的字符串,对应着grid1全部的子元素。像这种情况,怎么实现事先布局呢?也就是说虽然动态设置grid1的内容,但所有内容在grid1里面都是事先布局好的,显示的时候,只需显示就是了。这是怎么实现的?布局好之后,放在哪里呢?

------解决方案--------------------
不懂你具体在问什么?
------解决方案--------------------
在你的布局中,你的TextBox和内部Grid是重叠的,只不过后者比前者图层更高(因为是后指定的)。这就好比你在画布上先用黑色笔写了字,再用白色笔画了框,叠在一起。
------解决方案--------------------
就放着呗,visible置成false不就得了
------解决方案--------------------
哦,wpf,Visibility
------解决方案--------------------
不想叠摞?不想后台?
那...
放个TabControl,把选项卡拽到舞台外面,用代码切换
------解决方案--------------------
可以做成控件来切换,也可以创建好了再在运行时添加进来。
------解决方案--------------------
引用:
比如有下面这样一种布局结构:
<Grid>
    <TextBox/>
    <Grid Name="grid1">
      ...
      ...
    </Grid>
</Grid>

假设在TextBox中输入不同的字符串,grid1里面就显示对应的内容,就像一个字典一样。也就是说不同的字符串,对应着grid1全部的子元素。像这种情况,怎么实现事先布局呢?也就是说虽然动态设置grid1的内容,但所有内容在grid1里面都是事先布局好的,显示的时候,只需显示就是了。这是怎么实现的?布局好之后,放在哪里呢?

在xaml中设置好 或者在后台动态加载!


------解决方案--------------------
可以在Grid字面,放置多个其他的Panel(Grid,StackPanel,Canvas)等等,需要显示那个,就显示那个,这些Panel并列处于同一级别
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

比如有下面这样一种布局结构:
<Grid>
    <TextBox/>
    <Grid Name="grid1">
      ...
      ...
    </Grid>
</Grid>

假设在TextBox中输入不同的字符串,grid1里面就显示对应的内容,就像一个字典一样。也就是说不同的字符串,对应着grid1全部的子元素。像这种情况,怎么实现事先布局呢?也就是说虽然动态设置grid1的内容,但所有内容在grid1里面都是事先布局好的,显示的时候,只需显示就是了。这是怎么实现的?布局好之后,放在哪里呢?

在xaml中设置好 或者在后台动态加载!


在XAML中设置好?设置好不就已经"设置好"了吗?怎么又后台加载的?

可以在xaml中创建多个grid用隐藏显示的处理!或者后台动态去创建grid
------解决方案--------------------
动态生成.或者用隐藏显示