Beispiel #1
0
        /// <summary>
        /// 将数据列表绑定并生成子控件列表
        /// </summary>
        private void BindingItems()
        {
            _panel.Children.Clear();
            NavButtonVisibility = this.Items.Count > MaxVisibleItemCount ? Visibility.Visible : Visibility.Collapsed;
            foreach (var item in this.Items)
            {
                DeviceSelectItemControl pc = new DeviceSelectItemControl();
                _panel.Children.Add(pc);
                pc.DataContext = item;
                pc.MouseDown  += OnDeviceItemClick;

                Binding binding = new Binding()
                {
                    Source = this, Path = new PropertyPath("ItemWidth"), UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                };
                BindingOperations.SetBinding(pc, Canvas.WidthProperty, binding);

                Binding binding2 = new Binding()
                {
                    Source = _canvas, Path = new PropertyPath("ActualHeight"), UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                };
                BindingOperations.SetBinding(pc, Canvas.HeightProperty, binding2);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 点击了某个设备
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnDeviceItemClick(object sender, MouseButtonEventArgs e)
        {
            DeviceSelectItemControl pc = sender as DeviceSelectItemControl;

            this.SelectedItem = this.SelectedValue = pc.DataContext;        //设置当前选择的项
        }