首页 > 其他分享 >WPF开发中遇到的新知识 -- 4

WPF开发中遇到的新知识 -- 4

时间:2022-09-25 11:23:51浏览次数:53  
标签:-- Button 知识 视图 TextBlock 然后 跳转 WPF ListBox

使用ListBox作为导航栏,实现视图跳转

在顶部导航栏的布局设计中,需要一个容器装着一系列视图的标签,如果这个标签是用Button来实现的,需要更改Button的控件模板,会稍微有点麻烦,然后我是使用ListBox,内部就是简单的TextBlock,然后在ListBox的内部添加交互行为,因为TextBlock是没有类似Button的点击效果的,所以需要借助微软的behaviors来实现

<ListBox ItemsSource="{Binding MenuList}" BorderThickness="0">
    <behavior:Interaction.Triggers>
        <behavior:EventTrigger EventName="SelectionChanged">
            <behavior:InvokeCommandAction
                Command="{Binding NavigateCommand}"
                CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox},Path=SelectedItem}" />
        </behavior:EventTrigger>
    </behavior:Interaction.Triggers>

    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}" Margin="10 0" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

<ContentControl Grid.Row="1" prism:RegionManager.RegionName="{x:Static common:RegionNameHelper.MainWindowRegionName}" />

这样我们在选择不同的ListBox子项的时候,就会触发命令,然后执行视图的跳转,也就是 ContentControl 的内容绑定到我们自定义的属性中,然后我们修改属性,然后引起 ContentControl 内容发生改变,以达到切换视图的效果

标签:--,Button,知识,视图,TextBlock,然后,跳转,WPF,ListBox
From: https://www.cnblogs.com/huangwenhao1024/p/16727478.html

相关文章

  • 陶陶摘苹果
    #include<stdio.h>#include<stdlib.h>intmain(void){intsum,h,a[10],i;sum=0;printf("请分别输入10个苹果的高度");for(i=0;i<=9;i++)scanf("%d......
  • WPF开发中遇到的新知识 -- 7
    搜索框目的:希望一个类似百度搜索框的功能,在输入框中输入内容,弹出下拉框,下拉框的内容随着输入的变化而变化方法:输入框,用户在输入的时候,变化的是Text属性,我们可以先绑......
  • Python列表、元组、字典、集合区别
    一、列表 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的  2.通过偏移读取 组成列表的值叫做元素(Elements)。每一个元素被标识一个......
  • 链表之单链表
    单链表1.链表的定义通常将采用链式储存结构的线性表称为线性链表什么是链式储存结构用一组任意(可以连续,也可以不连续)的存储单元存放线性表的元素特点:逻辑次序和物......
  • WPF开发中遇到的新知识 -- 6
    DataGrid的简单使用因为我只需要一个简单的表格展示数据,而操作数据我是放在了Button中,所以我需要关闭DataGrid本身自带的一些操作数据的功能,以下都是需要关闭的RowHe......
  • 软件测试
    什么是软件测试?在规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。软件测试的目的以最少的人力,物力和时间找到软件中的缺陷,并修改,从而避免商业风险。......
  • WPF开发中遇到的新知识 -- 8
    Prism对话框移除最大化最小化和关闭目的:在弹出的对话框中,不需要最大化,最小化以及关闭按钮,自定义两个按钮,用作确认提交和取消提交方法:在Prism中找到的方法,直接在UserCont......
  • 第四章实例
    实例4                              ......
  • 95-2.Hive史诗级调优大全_ev
                  ......
  • 哈希表
    简介散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个......