zoukankan      html  css  js  c++  java
  • WPF SurfaceListBox SelectionChanged事件分析

    图片预览:

    xmal代码区:

    <s:SurfaceWindow x:Class="Qv2._0.SurfaceWindow1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:s="http://schemas.microsoft.com/surface/2008"
        Title="Qv2._0"
        >
        <Grid Background="Transparent">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <s:SurfaceListBox Name="ContentSelector" Grid.Column="0"
                              SelectionChanged="OnSelectionChanged" Width="200" >       
                <s:SurfaceListBoxItem Content="item1" >
                    <s:SurfaceListBoxItem.Tag>
                        <Grid>
                            <Button Width="200" Height="200">OK1</Button>
                            <Button VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="200" Height="200"
                                    Click="Button_Click">返回</Button>
                        </Grid>
                    </s:SurfaceListBoxItem.Tag>
                </s:SurfaceListBoxItem>

                <s:SurfaceListBoxItem Content="item2">
                    <s:SurfaceListBoxItem.Tag>
                        <Grid>
                            <Button Width="200" Height="200">OK2</Button>
                            <Button VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="200" Height="200"
                                    Click="Button_Click2">返回</Button>
                        </Grid>
                    </s:SurfaceListBoxItem.Tag>
                </s:SurfaceListBoxItem>

                <s:SurfaceListBoxItem Content="item3">
                    <s:SurfaceListBoxItem.Tag>
                        <Grid>
                            <Button Width="200" Height="200">OK3</Button>
                            <Button VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="200" Height="200"
                                    Click="Button_Click3">返回</Button>
                        </Grid>
                    </s:SurfaceListBoxItem.Tag>
                </s:SurfaceListBoxItem>
            </s:SurfaceListBox>          

        <Grid   Grid.Column="1" Background="Transparent" Name="ContentArea" Margin="7"/>
        </Grid>
    </s:SurfaceWindow>

    cs:代码片段

        private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                SurfaceListBoxItem selectedItem = (SurfaceListBoxItem)ContentSelector.SelectedItem;
                Grid content = selectedItem.Tag as Grid;
                if (content != null)
                {

                    ContentArea.Children.Clear();
                    ContentArea.Children.Add(content);
                    ContentSelector.Visibility = Visibility.Hidden;

                }
            }

        private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
            {

        //初始化
                SurfaceListBoxItem selectedItem = (SurfaceListBoxItem)ContentSelector.SelectedItem;
                Grid content = selectedItem.Tag as Grid;
                if (content != null)
                {

                    ContentArea.Children.Clear();
                    ContentArea.Children.Add(content);
                    ContentSelector.Visibility = Visibility.Hidden;

                }
            }

            private void Button_Click(object sender, RoutedEventArgs e)
            {
                ContentSelector.Visibility = Visibility.Visible;
              
            }
            private void Button_Click2(object sender, RoutedEventArgs e)
            {
                ContentSelector.Visibility = Visibility.Visible;
               
            }
            private void Button_Click3(object sender, RoutedEventArgs e)
            {
                ContentSelector.Visibility = Visibility.Visible;         
            }

  • 相关阅读:
    I/O多路复用一些概念
    事件驱动模型
    协程-遇到I/O自动切换
    进程间共享数据Manager
    协程
    进程池
    Linux rpm 命令参数使用详解[介绍和应用]
    linux 增加用户 useradd 用法小结及配置文件说明
    java classpath批量设置shell脚本
    bat批处理设置Java JDK系统环境变量文件
  • 原文地址:https://www.cnblogs.com/DeepBlues/p/2932383.html
Copyright © 2011-2022 走看看