zoukankan      html  css  js  c++  java
  • Wpf控件ListBox使用实例2

    2.Xaml绑定选择结果

    <StackPanel Orientation="Vertical">
        <TextBlock Margin="10,10,10,10" FontWeight="Bold">  Pick a color from below list</TextBlock>
        <ListBox Name="mcListBox" Height="100" Width="100" Margin="10,10,0,0" HorizontalAlignment="Left" >
            <ListBoxItem>Orange</ListBoxItem>
            <ListBoxItem>Green</ListBoxItem>
            <ListBoxItem>Blue</ListBoxItem>
            <ListBoxItem>Gray</ListBoxItem>
            <ListBoxItem>LightGray</ListBoxItem>
            <ListBoxItem>Red</ListBoxItem>
        </ListBox>
        <TextBox Height="23" Name="textBox1" Width="120" Margin="10,10,0,0" HorizontalAlignment="Left"  >
            <TextBox.Text>
                <Binding ElementName="mcListBox" Path="SelectedItem.Content"/>
            </TextBox.Text>
        </TextBox>
        <Canvas Margin="10,10,0,0" Height="200" Width="200" HorizontalAlignment="Left">
            <Canvas.Background>
                <Binding ElementName="mcListBox" Path="SelectedItem.Content"/>
            </Canvas.Background>
        </Canvas>
    </StackPanel>

    3.绑定ListBox.Templete 模板内容

    /// <summary>
    /// List3.xaml 的交互逻辑
    /// </summary>
    public partial class List3 : Window
    {
        public List3()
        {
            InitializeComponent();
            listBox.ItemsSource = new List<UserItem>() {
                new UserItem(1,"张三",true),
                new UserItem(2,"李四",false),
                new UserItem(3,"王五",false),
                new UserItem(4,"赵六",true)
            };
        }
        private void Button_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            Button btn = sender as Button;
            if (btn != null)
            {
                Image img = btn.FindName("img") as Image;
                if (img != null)
                {
                    MessageBox.Show(img.Source.ToString());
                }
            }
        }
    }
    public class UserItem
    {
        public UserItem(int ID, string Name, bool IsActive)
        {
            this.ID = ID;
            this.Name = Name;
            this.IsActive = IsActive;
        }
        public int ID { get; set; }
        public string Name { get; set; }
        public bool IsActive { get; set; }
        public string BackGround
        {
            get {
                return this.IsActive
                    ? "/images/1.jpg"
                    : "/images/2.jpg";
            }
        }
    }
    Xaml定义
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="33*"/>
            <RowDefinition Height="236*"/>
        </Grid.RowDefinitions>
    
        <ListBox x:Name="listBox" Grid.Row="1" Margin="30">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Button MouseDoubleClick="Button_MouseDoubleClick">
                        <Grid>
                            <Image x:Name="img" Source="{Binding Path=BackGround}" Width="50" Height="30"></Image>
                            <TextBlock Text="{Binding Path=Name}" Margin="70 10" FontSize="18" Foreground="Red" FontWeight="Bold"></TextBlock>
                        </Grid>
                    </Button>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    
        <Label x:Name="label" Content="List模板绑定" HorizontalAlignment="Left" Margin="21,6,0,0" VerticalAlignment="Top"/>
    </Grid>
  • 相关阅读:
    剑指Offer 28 对称的二叉树
    剑指Offer 54 二叉搜索树的第k大节点
    剑指Offer 41 数据流中的中位数
    剑指Offer 59 队列的最大值
    剑指Offer 12 矩阵中的路径
    剑指Offer 13 机器人的运动范围
    剑指Offer 42 连续子数组的最大和
    一句话总结随机森林
    一句话总结卷积神经网络
    一句话总结K均值算法
  • 原文地址:https://www.cnblogs.com/sjqq/p/6633482.html
Copyright © 2011-2022 走看看