WPF布局间的切换方法

效果图,两种效果间的切换

xaml:

<StackPanel>
        <Button Content="wrap布局" Click="Button_Click" Width="100"></Button>
        <Button Content="stack布局" Click="Button_Click_1" Width="100"></Button>
        <ListBox Name="lb" HorizontalContentAlignment="Stretch">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border BorderThickness="1" BorderBrush="Red">
                        <TextBlock Text="{Binding }"></TextBlock>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </StackPanel>

后台事件:

 public MainWindow()
        {
            InitializeComponent();
            List<string> list = new List<string>();
            for (int i = 0; i < 10; i++)
            {
                list.Add("item" + i);
            }
            lb.ItemsSource = list;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            lb.ItemsPanel = this.FindResource("one") as ItemsPanelTemplate;
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            lb.ItemsPanel = this.FindResource("two") as ItemsPanelTemplate;
        }
    }
时间: 2024-10-23 14:06:18

WPF布局间的切换方法的相关文章

WPF案例 (六) 动态切换UI布局

原文:WPF案例 (六) 动态切换UI布局 这个Wpf示例对同一个界面支持以ListView或者CardView的布局方式呈现界面,使用控件ItemsControl绑定数据源,使用DataTemplate为ItemsControl分别预定义了ListView和CardView的样式,在程序运行时,可在这两种Layout之间互相切换,界面如下.源代码在这里下载   为ItemsControl定义ListView UI布局的ItemTemplate,并指定MouseOver时DataTemplate

WPF快速入门系列(1)——WPF布局概览

一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中主要的几个不同的特性,如依赖属性.命令.路由事件等. 在正式介绍之前,我还想分享下为什么我又要重新捡起来WPF呢?之前没有记录下来的原来主要是打算走互联网方向的,后面发现互联网方向经常加班,又累,有时候忙的连自己写了什么都不知道的,所以后面机缘巧合地进了一家外企,在外企不像互联网行业那样,比较清楚,有更多的时

WPF 10天修炼 - WPF布局容器

WPF布局 WPF的窗口也就是Window类,是一个内容控件,该控件派生自ContentControl.内容控件有一个Content属性,该属性有一个限制,只能放置一个用户界面元素,或一个字符串.为了在窗口上放置多个界面控件,通常在窗口上放置一个容器控件. WFP布局原则 1.  元素不应该指定 确定的尺寸大小,同很惨更应该使其大小自动适应内容.比如按钮根据所添加的文本来扩展其大小.可以通过设置maximun和minimun尺寸来限制控件可接受的尺寸大小. 2.  元素不应该使用屏幕坐标来指定其

wpf进程间通讯

wpf进程间通讯 在联想智能识别项目中,需要用到进程间通讯,并且是低权限向高权限发送消息.首先声明一下,此项目是wpf的. 首先先简要说一下什么时候会用到进程间通讯,如:在Windows程序中,各个进程之间如果需要交换数据,此时就可以用到进程通讯. 先讲讲怎么实现发送消息: 要用进程间通讯,就必须用到参数WM_COPYDATA,此参数的主要目的是允许在进程间传递只读数据. 发送消息需要用到SendMessage函数,如果接受方未接收完数据的话,是不会返回的,所以发送方在此过程中是不可能删除和修改

Flexbox 布局的正确使用方法

Flexbox 布局的正确使用方法 在项目中,我们还会大量使用到flexbox的新旧属性,但大多数人一般只会写新属性,旧属性交由autoprefixer处理,但其实完成同样功能的新旧属性表现形式却不尽相同.还有部分人只使用"万能"的flex:number属性为伸缩项目分配空间,但有些特殊情景却无法满足,此文为此梳理了flexbox的新旧属性区别和分配空间的原理,为大家用flexbox布局的项目通通渠. Flexbox兼容性 PC端的兼容性 移动端的兼容性 如上图,为了兼容IE10-11

简单实现图片间的切换动画 主要用到ViewPager

简单实现图片间的切换动画 主要用到ViewPagerViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view.ViewPager类需要一个PagerAdapter适配器类给它提供数据 PagerAdapter适配器,必须实现四个方法getCount.isViewFromObject.destroyItem.instantiateItem import android.os.Bundle;import android.support.v4.view.PagerA

vmware虚拟机上linux操作系统进行tty1~tty6切换方法和详细步骤

vmware虚拟机上linux操作系统如何进行tty1~tty6切换? 现象: Linux的终端机(文字)界面与图形界面间的切换热键为: 进入终端机也就是字符界面(tty1-tty6):[Ctrl] + [Alt] + [F1] - [F6] 进入图形界面(tty7):[Ctrl] + [Alt] + [F7] 可在 VMware Workstation 上安装的linux系统,却怎么也切换不了. 原因: 原因是VMware 缺省的主机.虚拟机切换热键为[Ctrl] + [Alt],与以上 Li

Android Fragment实现按钮间的切换

Fragment要点 Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影响.例如:当

自定义Activity间的切换动画

只有不断找寻机会的人才会及时把握机会. 本讲内容:利用Theme自定义Activity间的切换动画 大多Android系统默认Activity间的动画切换效果为,右边滑入,左边滑出:有时候我们的需求可能是要求所有Activity的切换为淡入淡出的效果,这时候就可能需要改变一下默认的切换风格. 示例效果图:        下面是res/layout/activity_main.xml 布局文件: <RelativeLayout xmlns:android="http://schemas.an